[enable_xkb="maybe"])
AC_ARG_ENABLE(xinerama,
[AC_HELP_STRING([--enable-xinerama],
- [support xinerama extension if available [default=yes]])],,
- [enable_xinerama="yes"])
- AC_ARG_ENABLE(rebuilds,
- [AC_HELP_STRING([--disable-rebuilds],
- [disable all source autogeneration rules])],,
- [enable_rebuilds=yes])
+ [support Xinerama extension if available [default=maybe]])],,
+ [enable_xinerama="maybe"])
+ AC_ARG_ENABLE(xinput,
+ [AC_HELP_STRING([--enable-xinput],
+ [support XInput extension if available [default=yes]])],,
+ [enable_xinput="maybe"])
+ AC_ARG_ENABLE(xrandr,
+ [AC_HELP_STRING([--enable-xrandr],
+ [support XRandR extension if available [default=maybe]])],,
+ [enable_xrandr="maybe"])
+ AC_ARG_ENABLE(xfixes,
+ [AC_HELP_STRING([--enable-xfixes],
+ [support XFixes extension if available [default=maybe]])],,
+ [enable_xfixes="maybe"])
+ AC_ARG_ENABLE(xcomposite,
+ [AC_HELP_STRING([--enable-xcomposite],
+ [support X Composite extension if available [default=maybe]])],,
+ [enable_xcomposite="maybe"])
+ AC_ARG_ENABLE(xdamage,
+ [AC_HELP_STRING([--enable-xdamage],
+ [support X Damage extension if available [default=maybe]])],,
+ [enable_xdamage="maybe"])
+
+ AC_ARG_ENABLE(x11-backend,
+ [AC_HELP_STRING([--enable-x11-backend],
+ [enable the X11 gdk backend])],
+ [backend_set=yes])
+ AC_ARG_ENABLE(win32-backend,
+ [AC_HELP_STRING([--enable-win32-backend],
+ [enable the Win32 gdk backend])],
+ [backend_set=yes])
+ AC_ARG_ENABLE(quartz-backend,
+ [AC_HELP_STRING([--enable-quartz-backend],
+ [enable the quartz gdk backend])],
+ [backend_set=yes])
++AC_ARG_ENABLE(broadway-backend,
++ [AC_HELP_STRING([--enable-broadway-backend],
++ [enable the broadway (HTML5) gdk backend])],
++ [backend_set=yes])
+
+ if test -z "$backend_set"; then
+ if test "$platform_win32" = yes; then
+ enable_win32_backend=yes
+ else
+ enable_x11_backend=yes
+ fi
+ fi
+
+ cairo_backends=
+ backend_immodules=
+ GDK_BACKENDS=
+ GDK_EXTRA_LIBS=
+ GDK_EXTRA_CFLAGS=
+ GDK_WINDOWING=
+ GIO_PACKAGE=gio-2.0
+ PANGO_PACKAGES="pango pangocairo"
+
+ if test "x$enable_x11_backend" == xyes; then
+ # GDK calls the xlib backend "x11," cairo calls it "xlib." Other
+ # backend names are identical.
+ cairo_backends="$cairo_backends cairo-xlib"
+ GDK_BACKENDS="$GDK_BACKENDS x11"
+ # Pull in gio-unix for GDesktopAppInfo usage, see at least
+ # gdkapplaunchcontext-x11.c
+ GIO_PACKAGE=gio-unix-2.0
+ backend_immodules="$backend_immodules,xim"
+ GDK_WINDOWING="$GDK_WINDOWING
+ #define GDK_WINDOWING_X11"
+ fi
- AC_ARG_WITH(xinput,
- [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
+ if test "x$enable_win32_backend" == xyes; then
+ cairo_backends="$cairo_backends cairo-win32"
+ GDK_BACKENDS="$GDK_BACKENDS win32"
+ backend_immodules="$backend_immodules,ime"
+ GDK_WINDOWING="$GDK_WINDOWING
+ #define GDK_NATIVE_WINDOW_POINTER
+ #define GDK_WINDOWING_WIN32"
+ GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
+ AM_CONDITIONAL(USE_WIN32, true)
+ PANGO_PACKAGES="pangowin32 pangocairo"
+ else
+ AM_CONDITIONAL(USE_WIN32, false)
+ fi
- if test "$platform_win32" = yes; then
- gdktarget=win32
+ if test "x$enable_quartz_backend" == xyes; then
+ cairo_backends="$cairo_backends cairo-quartz"
+ GDK_BACKENDS="$GDK_BACKENDS quartz"
+ GDK_WINDOWING="$GDK_WINDOWING
+ #define GDK_WINDOWING_QUARTZ"
+ GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
+ AM_CONDITIONAL(USE_QUARTZ, true)
else
- gdktarget=x11
+ AM_CONDITIONAL(USE_QUARTZ, false)
fi
- AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/broadway]] select non-default GDK target],
- gdktarget=$with_gdktarget)
++if test "x$enable_broadway_backend" == xyes; then
++ GDK_BACKENDS="$GDK_BACKENDS broadway"
++ GDK_WINDOWING="$GDK_WINDOWING
++#define GDK_WINDOWING_BROADWAY"
++ GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lz"
++ AM_CONDITIONAL(USE_BROADWAY, true)
++else
++ AM_CONDITIONAL(USE_BROADWAY, false)
++fi
+
- AC_SUBST(gdktarget)
- case $gdktarget in
- x11|win32|quartz|broadway) ;;
- *) AC_MSG_ERROR([Invalid target for GDK: use x11, broadway, quartz or win32.]);;
- esac
+ # strip leading space
+ GDK_BACKENDS=${GDK_BACKENDS/# }
- gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
- gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
+ AC_SUBST(GDK_BACKENDS)
- AC_SUBST(gdktargetlib)
- AC_SUBST(gtktargetlib)
+ if test -z "$GDK_BACKENDS"; then
+ AC_MSG_ERROR([No GDK backends selected.])
+ fi
if test "x$enable_debug" = "xyes"; then
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
--includedir=$(srcdir) \
--includedir=.
- SUBDIRS = $(gdktarget) . tests
+ SUBDIRS = $(GDK_BACKENDS) . tests
+
-DIST_SUBDIRS = win32 x11 quartz tests
+DIST_SUBDIRS = win32 x11 quartz broadway tests
CLEANFILES =
gdkmarshalers.c \
gdkmarshalers.h
- libgdk_broadway_3_0_la_SOURCES = $(common_sources)
- libgdk_broadway_3_0_la_LIBADD = broadway/libgdk-broadway.la $(GDK_DEP_LIBS)
- libgdk_broadway_3_0_la_LDFLAGS = $(LDADD)
+ libgdk_3_0_la_SOURCES = $(common_sources)
+ libgdk_3_0_la_LIBADD = $(GDK_DEP_LIBS)
+ libgdk_3_0_la_LDFLAGS = $(LDADD)
- libgdk_x11_3_0_la_SOURCES = $(common_sources)
- libgdk_x11_3_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS)
- libgdk_x11_3_0_la_LDFLAGS = $(LDADD)
+ if USE_X11
+ libgdk_3_0_la_LIBADD += x11/libgdk-x11.la
+ endif # USE_X11
+
+ if USE_QUARTZ
+ libgdk_3_0_la_LIBADD += quartz/libgdk-quartz.la
+ endif # USE_QUARTZ
- libgdk_quartz_3_0_la_SOURCES = $(common_sources) gdkkeynames.c
- libgdk_quartz_3_0_la_LIBADD = quartz/libgdk-quartz.la $(GDK_DEP_LIBS)
- libgdk_quartz_3_0_la_LDFLAGS = $(LDADD)
+ if USE_WIN32
+ libgdk_3_0_la_SOURCES += gdkkeynames.c
+ libgdk_3_0_la_LIBADD += win32/libgdk-win32.la
+ libgdk_3_0_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o gdk.def
+ libgdk_3_0_la_LDFLAGS += -Wl,win32/rc/gdk-win32-res.o -export-symbols $(srcdir)/gdk.def
+ endif # USE_WIN32
- libgdk_win32_3_0_la_SOURCES = $(common_sources) gdkkeynames.c
- libgdk_win32_3_0_la_LIBADD = win32/libgdk-win32.la $(GDK_DEP_LIBS)
- libgdk_win32_3_0_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o gdk.def
- libgdk_win32_3_0_la_LDFLAGS = -Wl,win32/rc/gdk-win32-res.o -export-symbols $(srcdir)/gdk.def $(LDADD)
++if USE_BROADWAY
++libgdk_3_0_la_LIBADD += broadway/libgdk-broadway.la
++endif # USE_BROADWAY
+
if HAVE_INTROSPECTION
introspection_files = \