virt-viewer/configure.ac
Daniel P. Berrangé 8089cddfcb po: provide custom make rules for po file management
Historically we have relied on intltool to install a standard
po/Makefile.in.in which has very limited scope for customization.
intltool is deprecated in favour of standard gettextize tools,
but these share the same disadvantages.

Writing make rules for po file management is no more difficult
than any other rules virt-viewer has, so stop using intltool
and don't use gettextize ether.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2019-03-12 11:49:38 +00:00

294 lines
9.6 KiB
Plaintext

AC_INIT([virt-viewer],[9.0])
AC_CONFIG_SRCDIR(src/virt-viewer-main.c)
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
dnl Make automake keep quiet about wildcards & other GNUmake-isms
AM_INIT_AUTOMAKE([subdir-objects -Wno-portability foreign])
AC_CANONICAL_HOST
# Use the silent-rules feature when possible.
m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
AM_SILENT_RULES([yes])
# Keep these two definitions in agreement.
GLIB2_REQUIRED="2.40"
GLIB2_ENCODED_VERSION="GLIB_VERSION_2_40"
# Keep these two definitions in agreement.
GTK_REQUIRED="3.12"
GTK_ENCODED_VERSION="GDK_VERSION_3_12"
LIBXML2_REQUIRED="2.6.0"
LIBVIRT_REQUIRED="0.10.0"
LIBVIRT_GLIB_REQUIRED="0.1.8"
GTK_VNC_REQUIRED="0.4.0"
SPICE_GTK_REQUIRED="0.35"
SPICE_PROTOCOL_REQUIRED="0.12.7"
GOVIRT_REQUIRED="0.3.3"
REST_REQUIRED="0.8"
AC_SUBST([GLIB2_REQUIRED])
AC_SUBST([LIBXML2_REQUIRED])
AC_SUBST([LIBVIRT_REQUIRED])
AC_SUBST([LIBVIRT_GLIB_REQUIRED])
AC_SUBST([GTK_REQUIRED])
AC_SUBST([GTK_VNC_REQUIRED])
AC_SUBST([SPICE_GTK_REQUIRED])
AC_SUBST([SPICE_PROTOCOL_REQUIRED])
AC_SUBST([GOVIRT_REQUIRED])
AC_SUBST([REST_REQUIRED])
AC_MSG_CHECKING([for native Win32])
case "$host_os" in
*mingw*|*cygwin*)
os_win32=yes
case "$host" in
amd64*|x86_64*)
WIXL_ARCH="x64"
;;
*)
WIXL_ARCH="x86"
;;
esac
AC_SUBST(WIXL_ARCH)
;;
*)
os_win32=no
;;
esac
AC_MSG_RESULT([$os_win32])
AM_CONDITIONAL([OS_WIN32],[test "$os_win32" = "yes"])
AC_PROG_CC
AM_PROG_CC_C_O
LT_INIT
AC_CHECK_PROGS(ICOTOOL, [icotool], [icotool])
AS_IF([test "x$os_win32" = "xyes"], [
AC_CHECK_TOOL(WINDRES, [windres])
if test -z "$WINDRES" ; then
AC_MSG_ERROR("windres is required to compile virt-viewer on this platform")
fi
])
AC_CONFIG_LIBOBJ_DIR([src])
AC_DEFINE([_GNU_SOURCE], [], [Enable GNU extensions])
# Autoconf 2.61a.99 and earlier don't support linking a file only
# in VPATH builds. But since GNUmakefile is for maintainer use
# only, it does not matter if we skip the link with older autoconf.
# Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
# builds, so use a shell variable to bypass this.
GNUmakefile=GNUmakefile
m4_if(m4_version_compare([2.61a.100],
m4_defn([m4_PACKAGE_VERSION])), [1], [],
[AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
[GNUmakefile=$GNUmakefile])])
VIRT_VIEWER_COMPILE_WARNINGS(maximum)
GETTEXT_PACKAGE=virt-viewer
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],"$GETTEXT_PACKAGE", [GETTEXT package name])
VIRT_VIEWER_ARG_NLS
VIRT_VIEWER_CHECK_NLS
PKG_PROG_PKG_CONFIG
GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
AC_SUBST(GLIB_MKENUMS)
PKG_CHECK_MODULES(GLIB2, glib-2.0 >= $GLIB2_REQUIRED gio-2.0 gthread-2.0 gmodule-export-2.0)
GLIB2_CFLAGS="$GLIB2_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=$GLIB2_ENCODED_VERSION \
-DGLIB_VERSION_MAX_ALLOWED=$GLIB2_ENCODED_VERSION"
AC_SUBST(GLIB2_CFLAGS)
AC_ARG_VAR([GLIB_COMPILE_RESOURCES],[the glib-compile-resources program])
AC_PATH_PROG([GLIB_COMPILE_RESOURCES],[glib-compile-resources],[])
if test -z "$GLIB_COMPILE_RESOURCES"; then
AC_MSG_ERROR([glib-compile-resources not found])
fi
PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= $LIBXML2_REQUIRED)
AC_ARG_WITH([libvirt],
AS_HELP_STRING([--without-libvirt], [Ignore presence of libvirt and disable it]))
AS_IF([test "x$with_libvirt" != "xno" && test "x$with_libvirt" != "xyes"],
[PKG_CHECK_EXISTS([libvirt >= $LIBVIRT_REQUIRED],
[with_libvirt=yes], [with_libvirt=no])])
AS_IF([test "x$with_libvirt" = "xyes"],
[PKG_CHECK_MODULES(LIBVIRT, [libvirt >= $LIBVIRT_REQUIRED] [libvirt-glib-1.0 >= $LIBVIRT_GLIB_REQUIRED])]
[AC_DEFINE([HAVE_LIBVIRT], 1, [Have libvirt?])]
)
AM_CONDITIONAL([HAVE_LIBVIRT], [test "x$with_libvirt" = "xyes"])
old_LIBS=$LIBS
LIBS=$LIBVIRT_LIBS
# virDomainOpenGraphicsFD was introduced in libvirt 1.2.8
AC_CHECK_LIB([virt],
[virDomainOpenGraphicsFD],
[AC_DEFINE([HAVE_VIR_DOMAIN_OPEN_GRAPHICS_FD], 1, [Have virDomainOpenGraphicsFD?])])
LIBS=$old_LIBS
PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQUIRED)
GTK_CFLAGS="$GTK_CFLAGS -DGDK_VERSION_MIN_REQUIRED=$GTK_ENCODED_VERSION \
-DGDK_VERSION_MAX_ALLOWED=$GTK_ENCODED_VERSION"
AC_SUBST(GTK_CFLAGS)
AC_ARG_WITH([gtk-vnc],
AS_HELP_STRING([--without-gtk-vnc], [Ignore presence of gtk-vnc and disable it]))
AS_IF([test "x$with_gtk_vnc" != "xno" && test "x$with_gtk_vnc" != "xyes"],
[PKG_CHECK_EXISTS([gtk-vnc-2.0 >= $GTK_VNC_REQUIRED],
[with_gtk_vnc=yes], [with_gtk_vnc=no])])
AS_IF([test "x$with_gtk_vnc" = "xyes"],
[PKG_CHECK_MODULES(GTK_VNC, [gtk-vnc-2.0 >= $GTK_VNC_REQUIRED])]
[AC_DEFINE([HAVE_GTK_VNC], 1, [Have gtk-vnc?])]
)
AM_CONDITIONAL([HAVE_GTK_VNC], [test "x$with_gtk_vnc" = "xyes"])
AC_ARG_WITH([spice-gtk],
AS_HELP_STRING([--without-spice-gtk], [Ignore presence of spice-gtk and disable it]))
AS_IF([test "x$with_spice_gtk" != "xno" && test "x$with_spice_gtk" != "xyes"],
[PKG_CHECK_EXISTS([spice-client-gtk-3.0 >= $SPICE_GTK_REQUIRED
spice-client-glib-2.0 >= $SPICE_GTK_REQUIRED
spice-protocol >= $SPICE_PROTOCOL_REQUIRED],
[with_spice_gtk=yes], [with_spice_gtk=no])])
AS_IF([test "x$with_spice_gtk" = "xyes"],
[PKG_CHECK_MODULES(SPICE_GTK, [spice-client-gtk-3.0 >= $SPICE_GTK_REQUIRED
spice-client-glib-2.0 >= $SPICE_GTK_REQUIRED])]
[PKG_CHECK_MODULES(SPICE_PROTOCOL, [spice-protocol >= $SPICE_PROTOCOL_REQUIRED])]
[AC_DEFINE([HAVE_SPICE_GTK], 1, [Have spice-gtk?])]
)
AM_CONDITIONAL([HAVE_SPICE_GTK], [test "x$with_spice_gtk" = "xyes"])
AC_ARG_WITH([vte],
AS_HELP_STRING([--without-vte], [Ignore presence of vte and disable it]))
AS_IF([test "x$with_vte" != "xno" && test "x$with_vte" != "xyes"],
[PKG_CHECK_EXISTS([vte-2.91], [with_vte=yes], [with_vte=no])])
AS_IF([test "x$with_vte" = "xyes"],
[PKG_CHECK_MODULES(VTE, [vte-2.91])]
[AC_DEFINE([HAVE_VTE], 1, [Have vte?])]
)
AM_CONDITIONAL([HAVE_VTE], [test "x$with_vte" = "xyes"])
AC_ARG_WITH([ovirt],
AS_HELP_STRING([--without-ovirt], [Ignore presence of librest and disable oVirt support]))
AS_IF([test "x$with_ovirt" != "xno" && test "x$with_ovirt" != "xyes"],
[PKG_CHECK_EXISTS([govirt-1.0 >= $GOVIRT_REQUIRED],
[with_ovirt=yes], [with_ovirt=no])])
AS_IF([test "x$with_ovirt" = "xyes"],
[PKG_CHECK_MODULES([OVIRT], [govirt-1.0 >= $GOVIRT_REQUIRED rest-0.7 >= REST_REQUIRED])]
[AC_DEFINE([HAVE_OVIRT], 1, [Have libgovirt?])]
[SAVED_CFLAGS="$CFLAGS"
SAVED_LIBS="$LIBS"
CFLAGS="$OVIRT_CFLAGS"
LIBS="$OVIRT_LIBS"
AC_CHECK_FUNCS([ovirt_api_search_vms ovirt_vm_get_host ovirt_host_get_cluster ovirt_cluster_get_data_center],
[AC_DEFINE([HAVE_OVIRT_DATA_CENTER], 1, [Have support for data center])],
[]
)
CFLAGS="$SAVED_CFLAGS"
LIBS="$SAVED_LIBS"]
)
AM_CONDITIONAL([HAVE_OVIRT], [test "x$with_ovirt" = "xyes"])
dnl Decide if this platform can support the SSH tunnel feature.
AC_CHECK_HEADERS([sys/socket.h sys/un.h windows.h])
AC_CHECK_FUNCS([fork socketpair])
if test "x$with_gtk_vnc" != "xyes" && test "x$with_spice_gtk" != "xyes"; then
AC_MSG_ERROR([At least one of spice or vnc must be used])
fi
AC_ARG_WITH([osid],
AS_HELP_STRING([--with-osid=id], [Set OS ID for use in .vv files]))
if test -n "$with_osid"; then
AC_DEFINE_UNQUOTED([REMOTE_VIEWER_OS_ID], "$with_osid", [OS ID for this build])
fi
AC_ARG_WITH([buildid],
AS_HELP_STRING([--with-buildid=id], [Set additional build version details]),
[buildid="$with_buildid"], [buildid="0"])
if test "x$buildid" != "x0"; then
AC_DEFINE_UNQUOTED([BUILDID], "-$buildid", [Build version details])
AC_SUBST([BUILDID], "-$buildid")
else
AC_DEFINE_UNQUOTED([BUILDID], "", [Build version details])
fi
major=`echo $PACKAGE_VERSION | cut -d. -f1`
minor=`echo $PACKAGE_VERSION | cut -d. -f2`
WINDOWS_PRODUCTVERSION="$major.$minor.$buildid"
AC_SUBST([WINDOWS_PRODUCTVERSION])
AC_PATH_PROG(UPDATE_MIME_DATABASE, update-mime-database, no)
AC_ARG_ENABLE(update-mimedb,
AS_HELP_STRING([--disable-update-mimedb],
[disable the update-mime-database after install [default=no]]),,
enable_update_mimedb=yes)
AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes)
AC_CONFIG_FILES([
Makefile
data/Makefile
data/virt-viewer.wxs
icons/Makefile
icons/16x16/Makefile
icons/22x22/Makefile
icons/24x24/Makefile
icons/32x32/Makefile
icons/48x48/Makefile
icons/256x256/Makefile
man/Makefile
mingw-virt-viewer.spec
po/Makefile
src/Makefile
src/virt-viewer.rc
tests/Makefile
virt-viewer.spec
])
AC_OUTPUT
AC_MSG_NOTICE([])
AC_MSG_NOTICE([Configuration summary])
AC_MSG_NOTICE([=====================])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ Libraries:])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ GLIB2: $GLIB2_CFLAGS $GLIB2_LIBS])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ GTK: $GTK_CFLAGS $GTK_LIBS])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ GTK_VNC: $GTK_VNC_CFLAGS $GTK_VNC_LIBS])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ SPICE_GTK: $SPICE_GTK_CFLAGS $SPICE_GTK_LIBS])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ VTE: $VTE_CFLAGS $VTE_LIBS])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ LIBXML2: $LIBXML2_CFLAGS $LIBXML2_LIBS])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ LIBVIRT: $LIBVIRT_CFLAGS $LIBVIRT_LIBS])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([ OVIRT: $OVIRT_CFLAGS $OVIRT_LIBS])
AC_MSG_NOTICE([])