m4_define([vte_version_micro],[1])
m4_define([vte_version],[vte_version_major.vte_version_minor.vte_version_micro])
-m4_define([vte_api_version],[0])
-
AC_PREREQ([2.59])
AC_INIT(vte, [vte_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=vte])
LIBVTE_LTVERSION="lt_current():lt_revision():lt_age()"
AC_SUBST([LIBVTE_LTVERSION])
+################################################################################
+# GTK+
+################################################################################
+
+AC_MSG_CHECKING([which gtk+ version to compile against])
+AC_ARG_WITH([gtk],
+ [AS_HELP_STRING([--with-gtk=2.0|3.0],[which gtk+ version to compile against (default: 2.0)])],
+ [case "$with_gtk" in
+ 2.0|3.0) ;;
+ *) AC_MSG_ERROR([invalid gtk version specified]) ;;
+ esac],
+ [with_gtk=2.0])
+AC_MSG_RESULT([$with_gtk])
+
+case "$with_gtk" in
+ 2.0) VTE_API_VERSION=0.0
+ VTE_API_MAJOR_VERSION=0
+ VTE_API_MINOR_VERSION=0
+ VTE_PC_VERSION=
+ VTE_LIBRARY_SUFFIX=
+ GTK_API_VERSION=2.0
+ GTK_REQUIRED=2.14.0
+ ;;
+ 3.0) VTE_API_VERSION=2.90
+ VTE_API_MAJOR_VERSION=2
+ VTE_API_MINOR_VERSION=90
+ VTE_PC_VERSION=-2.90
+ VTE_LIBRARY_SUFFIX=2.90
+ GTK_API_VERSION=3.0
+ GTK_REQUIRED=2.90.0
+ ;;
+esac
+
+AC_SUBST([VTE_API_VERSION])
+AC_SUBST([VTE_API_VERSION_U],[AS_TR_SH([$VTE_API_VERSION])])
+AC_SUBST([VTE_API_MAJOR_VERSION])
+AC_SUBST([VTE_API_MINOR_VERSION])
+AC_SUBST([VTE_PC_VERSION])
+AC_SUBST([GTK_API_VERSION])
+AC_SUBST([VTE_LIBRARY_SUFFIX_U],[AS_TR_SH([$VTE_LIBRARY_SUFFIX])])
+
+AM_CONDITIONAL([HAVE_GTK_2],[test "$with_gtk" = "2.0"])
+AM_CONDITIONAL([HAVE_GTK_3],[test "$with_gtk" = "3.0"])
+
################################################################################
AC_ISC_POSIX
GLIB_REQUIRED=2.22.0
PANGO_REQUIRED=1.22.0
-GTK_REQUIRED=2.14.0
AC_DEFINE(GDK_MULTIHEAD_SAFE,1,[Force use of GDK's multihead-safe APIs.])
PKG_CHECK_MODULES(GLIB,[glib-2.0 > $GLIB_REQUIRED gobject-2.0])
-PKG_CHECK_MODULES(GTK,[glib-2.0 >= $GLIB_REQUIRED gobject-2.0 gtk+-2.0 >= $GTK_REQUIRED])
+PKG_CHECK_MODULES(GTK,[glib-2.0 >= $GLIB_REQUIRED gobject-2.0 gtk+-$GTK_API_VERSION >= $GTK_REQUIRED])
+
+AC_PATH_PROG([GLIB_GENMARSHAL],[glib-genmarshal])
+AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
# Let the user specify the default terminal emulation.
AC_ARG_WITH(default-emulation,
# We have a direct dependency on X11 on gdk-x11, see bug #613525
AC_MSG_CHECKING([for GDK target])
-GDK_TARGET="$($PKG_CONFIG --variable target gdk-2.0)"
+GDK_TARGET="$($PKG_CONFIG --variable target gdk-$GTK_API_VERSION)"
AC_MSG_RESULT([$GDK_TARGET])
case "$GDK_TARGET" in
x11) PLATFORM_PKGS="x11 cairo-xlib" ;;
*) PLATFORM_PKGS="" ;;
esac
-VTE_PKGS="glib-2.0 >= $GLIB_REQUIRED gobject-2.0 pango >= $PANGO_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gobject-2.0 gio-2.0 gio-unix-2.0 $PLATFORM_PKGS"
+VTE_PKGS="glib-2.0 >= $GLIB_REQUIRED gobject-2.0 pango >= $PANGO_REQUIRED gtk+-$GTK_API_VERSION >= $GTK_REQUIRED gobject-2.0 gio-2.0 gio-unix-2.0 $PLATFORM_PKGS"
PKG_CHECK_MODULES([VTE],[$VTE_PKGS])
AC_SUBST([VTE_PKGS])
# Auxillary modules
################################################################################
+if test "$with_gtk" = "2.0"; then
+
# Search for Python.
BUILD_PYTHON=true
AC_ARG_ENABLE(python, [AS_HELP_STRING(--enable-python,Build python bindings [default=yes])],[
AC_SUBST(PYTHONREV)
AC_SUBST(PYTHONMODULES)
+
+else # with_gtk = 3.0
+ BUILD_PYTHON=false
+fi # with_gtk = 2.0
+
AM_CONDITIONAL(BUILD_PYTHON_MODULES, $BUILD_PYTHON)
+################################################################################
+# GNOME PTY Helper
+################################################################################
+
AC_ARG_ENABLE(gnome-pty-helper, [AS_HELP_STRING(--enable-gnome-pty-helper,Build a setuid helper for opening ptys [default=yes])], enable_gnome_pty_helper="$enableval", enable_gnome_pty_helper=yes)
if test "$enable_gnome_pty_helper" != no; then
AC_DEFINE(VTE_USE_GNOME_PTY_HELPER,1,[Define if you intend to use gnome-pty-helper.])
fi
AM_CONDITIONAL(BUILD_GNOME_PTY_HELPER,[test "$enable_gnome_pty_helper" != no])
-AC_PATH_PROG([GLIB_GENMARSHAL],[glib-genmarshal])
-AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
-
################################################################################
# Glade catalogue
################################################################################
GTK_DOC_CHECK([1.13],[--flavour no-tmpl])
AC_SUBST([GLIB_PREFIX],[$($PKG_CONFIG --variable=prefix glib-2.0)])
-AC_SUBST([GTK_PREFIX],[$($PKG_CONFIG --variable=prefix gtk+-2.0)])
+AC_SUBST([GTK_PREFIX],[$($PKG_CONFIG --variable=prefix gtk+-$GTK_API_VERSION)])
################################################################################
AC_SUBST([VTE_MAJOR_VERSION],[vte_version_major])
AC_SUBST([VTE_MINOR_VERSION],[vte_version_minor])
AC_SUBST([VTE_MICRO_VERSION],[vte_version_micro])
-AC_SUBST([VTE_API_VERSION],[vte_api_version])
################################################################################
doc/reference/Makefile
doc/reference/version.xml
glade/Makefile
-vte.pc
-vte-uninstalled.pc
])
-AC_OUTPUT
+AC_CONFIG_FILES([vte${VTE_PC_VERSION}.pc:vte.pc.in],[VTE_PC_VERSION=${VTE_PC_VERSION}])
+AC_CONFIG_FILES([vte${VTE_PC_VERSION}-uninstalled.pc:vte-uninstalled.pc.in],[VTE_PC_VERSION=${VTE_PC_VERSION}])
+
+AC_OUTPUT
#####################
# Print configuration
## Configuration. ##
## -------------- ##
-Configuration for libvte $VERSION
+Configuration for libvte $VERSION for gtk+-$GTK_API_VERSION
Installing Glade catalogue: $enable_glade_catalogue
Debugging: $DEBUG
Disallow deprecated features: $enable_deprecation
# The library
-pkginclude_HEADERS = pty.h reaper.h vte.h vteaccess.h vtepty.h vtetypebuiltins.h vteversion.h vtedeprecated.h
+headerdir = $(includedir)/vte-$(VTE_API_VERSION)/vte
+header_HEADERS = pty.h reaper.h vte.h vteaccess.h vtepty.h vtetypebuiltins.h vteversion.h vtedeprecated.h
-lib_LTLIBRARIES = libvte.la
+lib_LTLIBRARIES = libvte@VTE_LIBRARY_SUFFIX_U@.la
-EXTRA_libvte_la_SOURCES = \
+EXTRA_libvte@VTE_LIBRARY_SUFFIX_U@_la_SOURCES = \
genkeysyms.py \
keysyms.c \
marshal.list \
vtetypebuiltins.h.template \
$(NULL)
-libvte_la_SOURCES = \
+libvte@VTE_LIBRARY_SUFFIX_U@_la_SOURCES = \
buffer.h \
caps.c \
caps.h \
vteversion.h
$(NULL)
-libvte_la_CPPFLAGS = \
- -DG_LOG_DOMAIN=\"Vte\" \
+libvte@VTE_LIBRARY_SUFFIX_U@_la_CPPFLAGS = \
+ -DG_LOG_DOMAIN=\"Vte-$(VTE_API_VERSION)\" \
-DDATADIR='"$(datadir)"' \
-DLIBEXECDIR='"$(libexecdir)"' \
-DLOCALEDIR='"$(localedir)"' \
-DVTE_COMPILATION
-libvte_la_CFLAGS = $(VTE_CFLAGS)
-libvte_la_LIBADD = $(VTE_LIBS)
-libvte_la_LDFLAGS = \
+libvte@VTE_LIBRARY_SUFFIX_U@_la_CFLAGS = $(VTE_CFLAGS)
+libvte@VTE_LIBRARY_SUFFIX_U@_la_LIBADD = $(VTE_LIBS)
+libvte@VTE_LIBRARY_SUFFIX_U@_la_LDFLAGS = \
-version-info $(LIBVTE_LTVERSION) \
-export-symbols-regex "^vte_terminal_.*|^vte_pty_.*|^_vte_pty_.*|^vte_reaper_.*|_vte_debug_.*" \
@LIBTOOL_EXPORT_OPTIONS@ @LIBTOOL_FLAGS@
# vte the application
-bin_PROGRAMS = vte
+bin_PROGRAMS = vte@VTE_LIBRARY_SUFFIX_U@
-vte_SOURCES = vteapp.c
-vte_CFLAGS = $(VTE_CFLAGS)
-vte_LDADD = libvte.la $(VTE_LIBS)
+vte@VTE_LIBRARY_SUFFIX_U@_SOURCES = vteapp.c
+vte@VTE_LIBRARY_SUFFIX_U@_CFLAGS = $(VTE_CFLAGS)
+vte@VTE_LIBRARY_SUFFIX_U@_LDADD = libvte@VTE_LIBRARY_SUFFIX_U@.la $(VTE_LIBS)
# introspection
INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
if HAVE_INTROSPECTION
-introspection_sources = \
- vte.c \
- vte.h \
- vtepty.h \
- pty.c \
- vtetypebuiltins.c \
- vtetypebuiltins.h
-
-Vte-@VTE_API_VERSION@.gir: libvte.la
-Vte_@VTE_API_VERSION@_gir_INCLUDES = Pango-1.0 Gdk-2.0 Gtk-2.0
-Vte_@VTE_API_VERSION@_gir_CFLAGS = $(VTE_CFLAGS) -DVTE_COMPILATION -I$(top_srcdir)
-Vte_@VTE_API_VERSION@_gir_LIBS = libvte.la
-Vte_@VTE_API_VERSION@_gir_FILES = $(addprefix $(srcdir)/,$(introspection_sources))
-
-INTROSPECTION_GIRS += Vte-@VTE_API_VERSION@.gir
+
+Vte-@VTE_API_VERSION@.gir: libvte@VTE_LIBRARY_SUFFIX_U@.la
+Vte_@VTE_API_VERSION_U@_gir_INCLUDES = Pango-1.0 Gdk-$(GTK_API_VERSION) Gtk-$(GTK_API_VERSION)
+Vte_@VTE_API_VERSION_U@_gir_CFLAGS = $(VTE_CFLAGS) -DVTE_COMPILATION -I$(top_srcdir)
+Vte_@VTE_API_VERSION_U@_gir_LIBS = libvte@VTE_LIBRARY_SUFFIX_U@.la
+Vte_@VTE_API_VERSION_U@_gir_FILES = \
+ vte.c \
+ vte.h \
+ vtepty.h \
+ pty.c \
+ vtetypebuiltins.c \
+ vtetypebuiltins.h \
+ $(NULL)
+
+INTROSPECTION_GIRS += Vte-$(VTE_API_VERSION).gir
girdir = $(INTROSPECTION_GIRDIR)
dist_gir_DATA = $(INTROSPECTION_GIRS)
# Misc unit tests and utilities
-pkglib_PROGRAMS = interpret slowcat
-pkglib_SCRIPTS = decset osc window
+vtelibdir = $(libdir)/vte-$(VTE_API_VERSION)
+vtelib_PROGRAMS = interpret slowcat
+vtelib_SCRIPTS = decset osc window
EXTRA_DIST += $(pkglib_SCRIPTS)
TEST_SH = check-doc-syntax.sh
reflect_vte_CPPFLAGS = -DUSE_VTE
reflect_vte_CFLAGS = $(VTE_CFLAGS)
reflect_vte_SOURCES = reflect.c
-reflect_vte_LDADD = libvte.la $(VTE_LIBS)
+reflect_vte_LDADD = libvte@VTE_LIBRARY_SUFFIX_U@.la $(VTE_LIBS)
interpret_SOURCES = \
buffer.h \