summaryrefslogtreecommitdiffstats
path: root/less/font.less
blob: 93053921e896e3ba8c1927fbca740989444e2987 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//
// Font face definitions are different than original RCUE ones.
// Here we supply only ttf variants. Additionally local variant can be
// used so it can save some load time in some browsers.
//
// This approach has a disadvantage:
// - fonts do not work in IE8 and below
//
// Advantage is that it nicely fits into Fedora packaging guidelines
//


@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: normal;
  src: local('Open Sans'),
       url('../fonts/open-sans/OpenSans-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: normal;
  src: local('Open Sans Italic'),
       url('../fonts/open-sans/OpenSans-Italic.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src:  local('Open Sans Light'),
        url('../fonts/open-sans/OpenSans-Light.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: local('Open Sans Light Italic'),
       url('../fonts/open-sans/OpenSans-LightItalic.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans Semibold'),
       url('../fonts/open-sans/OpenSans-Semibold.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: local('Open Sans Semibold Italic'),
       url('../fonts/open-sans/OpenSans-SemiboldItalic.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Open Sans Bold'),
       url('../fonts/open-sans/OpenSans-Bold.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: local('Open Sans Bold Italic'),
       url('../fonts/open-sans/OpenSans-BoldItalic.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 900;
  src: local('Open Sans Extrabold'),
       url('../fonts/open-sans/OpenSans-ExtraBold.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 900;
  src: local('Open Sans Extrabold Italic'),
       url('../fonts/open-sans/OpenSans-ExtraBoldItalic.ttf') format('truetype');
}
a id='n414' href='#n414'>414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887
# libguestfs
# Copyright (C) 2009-2011 Red Hat Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

# major/minor/release must be numbers
m4_define([libguestfs_major],   [1])
m4_define([libguestfs_minor],   [11])
m4_define([libguestfs_release], [18])
# extra can be any string
m4_define([libguestfs_extra],   [])

AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release)
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([foreign])

m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.

AC_CONFIG_MACRO_DIR([m4])

dnl Split up the version string.
AC_DEFINE([PACKAGE_VERSION_MAJOR],[libguestfs_major],[Major version number])
AC_DEFINE([PACKAGE_VERSION_MINOR],[libguestfs_minor],[Minor version number])
AC_DEFINE([PACKAGE_VERSION_RELEASE],[libguestfs_release],[Release number])
AC_DEFINE([PACKAGE_VERSION_EXTRA],["libguestfs_extra"],[Extra version string])

dnl Stable or unstable version?
AC_MSG_CHECKING([if this is a stable or unstable branch of libguestfs])
AS_IF([test "$((libguestfs_minor % 2))" -eq 0 ],[
            AC_MSG_RESULT([stable])
       ],[
            AC_MSG_RESULT([unstable])
            AC_MSG_NOTICE([
***
This is a development version of libguestfs. Some APIs may be unstable
until they appear in a stable release of libguestfs (at which point
the C API and ABI is guaranteed to remain stable forever).  For
more information about stable and development branches of libguestfs
please see the section "LIBGUESTFS VERSION NUMBERS" in guestfs(3).
***])
       ])

dnl Early gnulib initialization.
gl_EARLY
gl_INIT

AC_PROG_LIBTOOL

dnl Check for basic C environment.
AC_PROG_CC_STDC
AC_PROG_INSTALL
AC_PROG_CPP

AC_ARG_ENABLE([gcc-warnings],
  [AS_HELP_STRING([--enable-gcc-warnings],
                  [turn on lots of GCC warnings (for developers)])],
  [case $enableval in
     yes|no) ;;
     *)      AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
   esac
   gl_gcc_warnings=$enableval],
  [gl_gcc_warnings=no]
)

if test "$gl_gcc_warnings" = yes; then
  gl_WARN_ADD([-Werror], [WERROR_CFLAGS])
  AC_SUBST([WERROR_CFLAGS])

  nw=
  # This, $nw, is the list of warnings we disable.
  nw="$nw -Wdeclaration-after-statement" # too useful to forbid
  nw="$nw -Waggregate-return"       # anachronistic
  nw="$nw -Wc++-compat"             # We don't care about C++ compilers
  nw="$nw -Wundef"                  # Warns on '#if GNULIB_FOO' etc in gnulib
  nw="$nw -Wtraditional"            # Warns on #elif which we use often
  nw="$nw -Wcast-qual"              # Too many warnings for now
  nw="$nw -Wconversion"             # Too many warnings for now
  nw="$nw -Wsystem-headers"         # Don't let system headers trigger warnings
  nw="$nw -Wsign-conversion"        # Too many warnings for now
  nw="$nw -Wtraditional-conversion" # Too many warnings for now
  nw="$nw -Wunreachable-code"       # Too many warnings for now
  nw="$nw -Wpadded"                 # Our structs are not padded
  nw="$nw -Wredundant-decls"        # openat.h declares e.g., mkdirat
  nw="$nw -Wlogical-op"             # any use of fwrite provokes this
  nw="$nw -Wvla"                    # two warnings in mount.c
  # things I might fix soon:
  nw="$nw -Wmissing-format-attribute" # daemon.h's asprintf_nowarn
  nw="$nw -Winline"                 # daemon.h's asprintf_nowarn
  nw="$nw -Wshadow"                 # numerous, plus we're not unanimous
  nw="$nw -Wunsafe-loop-optimizations" # just a warning that an optimization
                                    # was not possible, safe to ignore
  nw="$nw -Wpacked"                 # Allow attribute((packed)) on structs
  nw="$nw -Wlong-long"              # Allow long long since it's required
                                    # by Python, Ruby and xstrtoll.
  nw="$nw -Wstack-protector"        # Don't warn about stack-protector
                                    # failures (seen on Ubuntu).

  gl_MANYWARN_ALL_GCC([ws])
  gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw])
  for w in $ws; do
    gl_WARN_ADD([$w])
  done
  gl_WARN_ADD([-Wno-unused-parameter]) # stubs.c
  gl_WARN_ADD([-Wno-jump-misses-init]) # stubs.c
  gl_WARN_ADD([-Wno-unused-variable]) # FIXME: only temporary, for guestfs_protocol.c, etc

  # In spite of excluding -Wlogical-op above, it is enabled, as of
  # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c
  gl_WARN_ADD([-Wno-logical-op])

  # Work around warning in src/inspect.c.  This seems to be a bug in gcc 4.5.1.
  gl_WARN_ADD([-Wno-strict-overflow])

  gl_WARN_ADD([-fdiagnostics-show-option])

  AC_SUBST([WARN_CFLAGS])

  AC_DEFINE([lint], [1], [Define to 1 if the compiler is checking for lint.])
  AC_DEFINE([_FORTIFY_SOURCE], [2],
    [enable compile-time and run-time bounds-checking, and some warnings])
  AC_DEFINE([GNULIB_PORTCHECK], [1], [enable some gnulib portability checks])
fi

AC_C_PROTOTYPES
test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant])

AM_PROG_CC_C_O

dnl Work out how to specify the linker script to the linker.
VERSION_SCRIPT_FLAGS=-Wl,--version-script=
`/usr/bin/ld --help 2>&1 | grep -- --version-script >/dev/null` || \
    VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
AC_SUBST(VERSION_SCRIPT_FLAGS)

dnl Check support for 64 bit file offsets.
AC_SYS_LARGEFILE

dnl Check sizeof long.
AC_CHECK_SIZEOF([long])

dnl Define a C symbol for the host CPU architecture.
AC_DEFINE_UNQUOTED([host_cpu],["$host_cpu"],[Host architecture.])

dnl Headers.
AC_CHECK_HEADERS([errno.h sys/types.h sys/un.h sys/wait.h sys/socket.h endian.h byteswap.h])

dnl Functions.
AC_CHECK_FUNCS([futimens posix_fallocate])

dnl Build the daemon?
AC_MSG_CHECKING([if we should build the daemon])
AC_ARG_ENABLE([daemon],
        [AS_HELP_STRING([--enable-daemon],
          [enable building the daemon @<:@default=yes@:>@])],
        [],
        [enable_daemon=yes])
AM_CONDITIONAL([ENABLE_DAEMON],[test "x$enable_daemon" = "xyes"])
AC_MSG_RESULT([$enable_daemon])

dnl Build the appliance?
AC_MSG_CHECKING([if we should build the appliance])
AC_ARG_ENABLE([appliance],
        [AS_HELP_STRING([--enable-appliance],
          [enable building the appliance @<:@default=yes@:>@])],
        [],
        [enable_appliance=yes])
AM_CONDITIONAL([ENABLE_APPLIANCE],[test "x$enable_appliance" = "xyes"])
AC_MSG_RESULT([$enable_appliance])

if test "x$enable_appliance" = "xyes"; then
    dnl Check for febootstrap >= 3.0
    AC_CHECK_PROG([FEBOOTSTRAP],
                  [febootstrap],[febootstrap],[no])
    test "x$FEBOOTSTRAP" = "xno" &&
        AC_MSG_ERROR([febootstrap must be installed])
    dnl febootstrap 2.x did not support the --version parameter
    $FEBOOTSTRAP --version >/dev/null 2>&1 ||
        AC_MSG_ERROR([febootstrap >= 3.0 must be installed, your version is too old])

    dnl Pass a febootstrap --yum-config option.
    AC_MSG_CHECKING([if user requested febootstrap --yum-config option])
    AC_ARG_WITH([febootstrap-yum-config],
        [AS_HELP_STRING([--with-febootstrap-yum-config=FILE],
          [pass febootstrap --yum-config option @<:@default=no@:>@])],
        [FEBOOTSTRAP_YUM_CONFIG="$withval"],
        [FEBOOTSTRAP_YUM_CONFIG=no])
    AC_MSG_RESULT([$FEBOOTSTRAP_YUM_CONFIG])
    AC_SUBST([FEBOOTSTRAP_YUM_CONFIG])

    dnl Which distro?
    dnl
    dnl This used to be Very Important but is now just used to select
    dnl which packages to install in the appliance, since the package
    dnl names vary slightly across distros.  (See
    dnl appliance/packagelist.in and appliance/excludelist.in)
    AC_MSG_CHECKING([which Linux distro for package names])
    DISTRO=REDHAT
    if test -f /etc/debian_version; then
        DISTRO=DEBIAN
	if grep -q 'DISTRIB_ID=Ubuntu' /etc/lsb-release 2>/dev/null; then
            DISTRO=UBUNTU
	fi
    fi
    if test -f /etc/arch-release; then
        DISTRO=ARCHLINUX
    fi
    AC_MSG_RESULT([$DISTRO])
    AC_SUBST([DISTRO])
fi

dnl Check for rpcgen and XDR library.  rpcgen is optional.
AC_CHECK_PROG([RPCGEN],[rpcgen],[rpcgen],[no])
AM_CONDITIONAL([HAVE_RPCGEN],[test "x$RPCGEN" != "xno"])
AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
        AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl])
        ])

dnl Check for cpio which isn't in the default Pardus install amazingly.
AC_CHECK_PROG([CPIO],[cpio],[cpio],[no])
test "x$CPIO" = "xno" &&
     AC_MSG_ERROR([cpio must be installed])

dnl Check for gperf.
AC_CHECK_PROG([GPERF],[gperf],[gperf],[no])
test "x$GPERF" = "xno" &&
     AC_MSG_ERROR([gperf must be installed])

dnl Check for pod2man, pod2text, pod2html.
AC_CHECK_PROG([POD2MAN],[pod2man],[pod2man],[no])
test "x$POD2MAN" = "xno" &&
     AC_MSG_ERROR([pod2man must be installed])
AC_CHECK_PROG([POD2TEXT],[pod2text],[pod2text],[no])
test "x$POD2TEXT" = "xno" &&
     AC_MSG_ERROR([pod2text must be installed])
AC_CHECK_PROG([POD2HTML],[pod2html],[pod2html],[no])
test "x$POD2HTML" = "xno" &&
     AC_MSG_ERROR([pod2html must be installed])

dnl Check if pod2man, pod2text take --stderr and -u options (not in RHEL 5).
AC_MSG_CHECKING([if pod2man takes --stderr option])
if "$POD2MAN" --stderr >/dev/null 2>&1; then
    AC_MSG_RESULT([yes])
    POD2_STDERR_OPTION="--stderr"
else
    AC_MSG_RESULT([no])
    POD2_STDERR_OPTION=""
fi
AC_SUBST([POD2_STDERR_OPTION])

AC_MSG_CHECKING([if pod2man takes -u option])
if "$POD2MAN" -u >/dev/null 2>&1; then
    AC_MSG_RESULT([yes])
    POD2_UTF8_OPTION="-u"
else
    AC_MSG_RESULT([no])
    POD2_UTF8_OPTION=""
fi
AC_SUBST([POD2_UTF8_OPTION])

dnl Check for genisoimage.
AC_PATH_PROGS([GENISOIMAGE],[genisoimage],[no],
        [$PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin])
test "x$GENISOIMAGE" = "xno" && AC_MSG_ERROR([genisoimage must be installed])

dnl Check for optional xmllint.
AC_CHECK_PROG([XMLLINT],[xmllint],[xmllint],[no])
AM_CONDITIONAL([HAVE_XMLLINT],[test "x$XMLLINT" != "xno"])

dnl po4a for translating man pages and POD files (optional).
AC_CHECK_PROG([PO4A],[po4a],[po4a],[no])
AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])

dnl Check for db_dump, db_load (optional).
AC_CHECK_PROGS([DB_DUMP],
               [db_dump db4_dump db4.8_dump db4.7_dump db4.6_dump],[no])
AC_CHECK_PROGS([DB_LOAD],
               [db_load db4_load db4.8_load db4.7_load db4.6_load],[no])
if test "x$DB_DUMP" != "xno"; then
    AC_DEFINE_UNQUOTED([DB_DUMP],["$DB_DUMP"],[Name of db_dump program.])
fi
if test "x$DB_LOAD" != "xno"; then
    AC_DEFINE_UNQUOTED([DB_LOAD],["$DB_LOAD"],[Name of db_load program.])
fi

dnl Check for QEMU for running binaries on this $host_cpu, fall
dnl back to basic 'qemu'.  Allow the user to override it.
default_qemu="qemu-kvm kvm qemu-system-$host_cpu qemu"
AC_ARG_WITH([qemu],
        [AS_HELP_STRING([--with-qemu],
          [set default QEMU binary @<:@default=[qemu-kvm] qemu-system-<host> qemu@:>@])],
        [],
        [with_qemu="$default_qemu"])
AC_PATH_PROGS([QEMU],[$with_qemu],[no],
        [$PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin$PATH_SEPARATOR/usr/libexec])
test "x$QEMU" = "xno" && AC_MSG_ERROR([qemu must be installed])
AC_DEFINE_UNQUOTED([QEMU],["$QEMU"],[Location of qemu binary.])

dnl Check that the chosen qemu has virtio-serial support.
if test "x$vmchannel_test" != "xno"; then
    AC_MSG_CHECKING([for virtio-serial support in $QEMU])
    if $QEMU -nographic -device \? 2>&1 | grep -sq virtio-serial; then
        AC_MSG_RESULT([yes])
    else
        AC_MSG_RESULT([no])
        AC_MSG_FAILURE(
[I did not find virtio-serial support in
$QEMU.

virtio-serial support in qemu or KVM is essential for libguestfs
to operate.

Usually this means that you have to install a newer version of qemu
and/or KVM.  Please read the relevant section in the README file for
more information about this.

You can override this test by setting the environment variable
vmchannel_test=no  However if you don't have the right support
in your qemu, then this just delays the pain.

If I am using the wrong qemu or you want to compile qemu from source
and install it in another location, then you should configure with
the --with-qemu option.
])
    fi
fi

dnl Set default drive interface used by the guestfs_add_drive_opts call
dnl ('-drive ...,if=...' option to qemu).
dnl
dnl If you encounter performance problems with virtio (RHBZ#509383)
dnl then try '--with-drive-if=ide'.
AC_ARG_WITH([drive-if],
        [AS_HELP_STRING([--with-drive-if],
          [set default driver (ide|scsi|virtio) @<:@default=virtio@:>@])],
        [],
        [with_drive_if=virtio])
AC_DEFINE_UNQUOTED([DRIVE_IF],["$with_drive_if"],[Default drive interface.])

dnl Set interface used by the network.  Normally you should
dnl leave this at the default (virtio-net-pci) but you can use the
dnl alternative (ne2k_pci) because of bugs in virtio networking
dnl eg. https://bugzilla.redhat.com/show_bug.cgi?id=516022
AC_ARG_WITH([net-if],
        [AS_HELP_STRING([--with-net-if],
          [set default net driver (virtio-net-pci|ne2k_pci) @<:@default=virtio-net-pci@:>@])],
        [],
        [with_net_if=virtio-net-pci])
AC_DEFINE_UNQUOTED([NET_IF],["$with_net_if"],[Default network interface.])

dnl Enable packet dumps when in verbose mode.  This generates lots
dnl of debug info, only useful for people debugging the RPC mechanism.
AC_ARG_ENABLE([packet-dump],
        [AS_HELP_STRING([--enable-packet-dump],
          [enable packet dumps in verbose mode @<:@default=no@:>@])],
        [AC_DEFINE([ENABLE_PACKET_DUMP],[1],[Enable packet dumps in verbose mode.])],
        [])

dnl Readline.
AC_ARG_WITH([readline],
    [AS_HELP_STRING([--with-readline],
        [support fancy command line editing @<:@default=check@:>@])],
    [],
    [with_readline=check])

LIBREADLINE=
AS_IF([test "x$with_readline" != xno],
    [AC_CHECK_LIB([readline], [main],
        [AC_SUBST([LIBREADLINE], ["-lreadline -lncurses"])
         AC_DEFINE([HAVE_LIBREADLINE], [1],
                   [Define if you have libreadline])
        ],
        [if test "x$with_readline" != xcheck; then
         AC_MSG_FAILURE(
             [--with-readline was given, but test for readline failed])
         fi
        ], -lncurses)
     old_LIBS="$LIBS"
     LIBS="$LIBS $LIBREADLINE"
     AC_CHECK_FUNCS([append_history completion_matches rl_completion_matches])
     LIBS="$old_LIBS"
    ])

dnl For i18n.
AM_GNU_GETTEXT([external])

dnl libmagic (highly recommended)
AC_CHECK_LIB([magic],[magic_file],
        [AC_CHECK_HEADER([magic.h],
                [AC_SUBST([MAGIC_LIBS], ["-lmagic"])
                 AC_DEFINE([HAVE_LIBMAGIC],[1],[libmagic found at compile time.])
                ], [])
        ],
        [AC_MSG_WARN([libmagic not found, some core features will be disabled])])

dnl Check for PCRE (highly recommended)
PKG_CHECK_MODULES([PCRE], [libpcre],
        [AC_SUBST([PCRE_CFLAGS])
         AC_SUBST([PCRE_LIBS])
         AC_DEFINE([HAVE_PCRE],[1],[PCRE found at compile time.])
        ],
        [AC_MSG_WARN([PCRE not found, some core features will be disabled])])

dnl libvirt (highly recommended)
PKG_CHECK_MODULES([LIBVIRT], [libvirt],
        [AC_SUBST([LIBVIRT_CFLAGS])
         AC_SUBST([LIBVIRT_LIBS])
         AC_DEFINE([HAVE_LIBVIRT],[1],[libvirt found at compile time.])
        ],
        [AC_MSG_WARN([libvirt not found, some core features will be disabled])])
AM_CONDITIONAL([HAVE_LIBVIRT],[test "x$LIBVIRT_LIBS" != "x"])

dnl libxml2 (highly recommended)
PKG_CHECK_MODULES([LIBXML2], [libxml-2.0],
        [AC_SUBST([LIBXML2_CFLAGS])
         AC_SUBST([LIBXML2_LIBS])
         AC_DEFINE([HAVE_LIBXML2],[1],[libxml2 found at compile time.])
        ],
        [AC_MSG_WARN([libxml2 not found, some core features will be disabled])])
AM_CONDITIONAL([HAVE_LIBXML2],[test "x$LIBXML2_LIBS" != "x"])

dnl libconfig (highly recommended)
PKG_CHECK_MODULES([LIBCONFIG], [libconfig],
        [AC_SUBST([LIBCONFIG_CFLAGS])
         AC_SUBST([LIBCONFIG_LIBS])
         AC_DEFINE([HAVE_LIBCONFIG],[1],[libconfig found at compile time.])
        ],
        [AC_MSG_WARN([libconfig not found, some features will be disabled])])
AM_CONDITIONAL([HAVE_LIBCONFIG],[test "x$LIBCONFIG_LIBS" != "x"])

dnl hivex library (highly recommended)
dnl This used to be a part of libguestfs, but was spun off into its
dnl own separate upstream project in libguestfs 1.0.85.
PKG_CHECK_MODULES([HIVEX], [hivex],
        [AC_SUBST([HIVEX_CFLAGS])
         AC_SUBST([HIVEX_LIBS])
         AC_DEFINE([HAVE_HIVEX],[1],[hivex library found at compile time.])
        ],
        [AC_MSG_WARN([hivex not found, some core features will be disabled])])
AM_CONDITIONAL([HAVE_HIVEX],[test "x$HIVEX_LIBS" != "x"])

dnl FUSE is optional to build the FUSE module.
AC_ARG_ENABLE([fuse],
        AS_HELP_STRING([--disable-fuse], [Disable FUSE (guestmount) support]),
        [],
        [enable_fuse=yes])
AS_IF([test "x$enable_fuse" != "xno"],
        [PKG_CHECK_MODULES([FUSE],[fuse],,[
                enable_fuse=no
                AC_MSG_WARN([FUSE library and headers are missing, so optional FUSE module won't be built])])])
AM_CONDITIONAL([HAVE_FUSE],[test "x$enable_fuse" != "xno"])

dnl Check for OCaml (optional, for OCaml bindings).
OCAMLC=no
OCAMLFIND=no
AC_ARG_ENABLE([ocaml],
        AS_HELP_STRING([--disable-ocaml], [Disable OCaml language bindings]),
        [],
        [enable_ocaml=yes])
AS_IF([test "x$enable_ocaml" != "xno"],
        [dnl OCAMLC and OCAMLFIND have to be unset first, otherwise
         dnl AC_CHECK_TOOL (inside AC_PROG_OCAML) will not look.
         OCAMLC=
         OCAMLFIND=
         AC_PROG_OCAML
         AC_PROG_FINDLIB

         AS_IF([test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"],
         	[AC_CHECK_OCAML_PKG([pcre])])
        ])
AM_CONDITIONAL([HAVE_OCAML],
               [test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"])
AM_CONDITIONAL([HAVE_OCAML_PCRE],
               [test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno" && test "x$OCAML_PKG_pcre" != "xno"])
AM_CONDITIONAL([HAVE_OCAMLDOC],
               [test "x$OCAMLDOC" != "xno"])

dnl Check for Perl (optional, for Perl bindings).
PERL=no
AC_ARG_ENABLE([perl],
        AS_HELP_STRING([--disable-perl], [Disable Perl language bindings]),
        [],
        [enable_perl=yes])
AS_IF([test "x$enable_perl" != "xno"],
        [
        PERL=
        AC_CHECK_PROG([PERL],[perl],[perl],[no])

        dnl Check for Perl modules that must be present to compile and
        dnl test the Perl bindings.
        missing_perl_modules=no
        for pm in Test::More ExtUtils::MakeMaker; do
            AC_MSG_CHECKING([for $pm])
            if ! perl -M$pm -e1 >/dev/null 2>&1; then
                AC_MSG_RESULT([no])
                missing_perl_modules=yes
            else
                AC_MSG_RESULT([yes])
            fi
        done
        if test "x$missing_perl_modules" = "xyes"; then
            AC_MSG_WARN([some Perl modules required to compile or test the Perl bindings are missing])
        fi
        ])
AM_CONDITIONAL([HAVE_PERL],
    [test "x$PERL" != "xno" && test "x$missing_perl_modules" != "xyes"])

dnl Check for Python (optional, for Python bindings).
PYTHON_PREFIX=
PYTHON_VERSION=
PYTHON_INCLUDEDIR=
PYTHON_INSTALLDIR=

AC_ARG_ENABLE([python],
        AS_HELP_STRING([--disable-python], [Disable Python language bindings]),
        [],
        [enable_python=yes])
AS_IF([test "x$enable_python" != "xno"],
        [
        AC_CHECK_PROG([PYTHON],[python],[python],[no])

        if test "x$PYTHON" != "xno"; then
	    AC_MSG_CHECKING([Python prefix])
            PYTHON_PREFIX=`$PYTHON -c "import sys; print sys.prefix"`
	    AC_MSG_RESULT([$PYTHON_PREFIX])

	    AC_MSG_CHECKING([Python version])
            PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
	    AC_MSG_RESULT([$PYTHON_VERSION])

            AC_MSG_CHECKING([for Python include path])
            if test -z "$PYTHON_INCLUDEDIR"; then
                python_path=`$PYTHON -c "import distutils.sysconfig; \
                                         print (distutils.sysconfig.get_python_inc ());"`
                PYTHON_INCLUDEDIR=$python_path
            fi
            AC_MSG_RESULT([$PYTHON_INCLUDEDIR])

            AC_ARG_WITH([python-installdir],
                        [AS_HELP_STRING([--with-python-installdir],
			                [directory to install python modules @<:@default=check@:>@])],
			[PYTHON_INSTALLDIR="$withval"
			AC_MSG_NOTICE([Python install dir $PYTHON_INSTALLDIR])],
			[PYTHON_INSTALLDIR=check])

	    if test "x$PYTHON_INSTALLDIR" = "xcheck"; then
	        PYTHON_INSTALLDIR=
                AC_MSG_CHECKING([for Python site-packages path])
                if test -z "$PYTHON_INSTALLDIR"; then
                    PYTHON_INSTALLDIR=`$PYTHON -c "import distutils.sysconfig; \
                                                   print (distutils.sysconfig.get_python_lib(1,0));"`
                fi
                AC_MSG_RESULT([$PYTHON_INSTALLDIR])
            fi

            old_LIBS="$LIBS"
            LIBS="$LIBS -lpython$PYTHON_VERSION"
            AC_CHECK_FUNCS([PyCapsule_New])
            LIBS="$old_LIBS"
        fi

        AC_SUBST(PYTHON_PREFIX)
        AC_SUBST(PYTHON_VERSION)
        AC_SUBST(PYTHON_INCLUDEDIR)
        AC_SUBST(PYTHON_INSTALLDIR)
        ])
AM_CONDITIONAL([HAVE_PYTHON],
    [test "x$PYTHON" != "xno" && test "x$PYTHON_INCLUDEDIR" != "x" && test "x$PYTHON_INSTALLDIR" != "x"])

dnl Check for Ruby and rake (optional, for Ruby bindings).
AC_ARG_ENABLE([ruby],
        AS_HELP_STRING([--disable-ruby], [Disable Ruby language bindings]),
        [],
        [enable_ruby=yes])
AS_IF([test "x$enable_ruby" != "xno"],
        [
        AC_CHECK_LIB([ruby],[ruby_init],[HAVE_LIBRUBY=1],[HAVE_LIBRUBY=0])
        AC_CHECK_PROG([RAKE],[rake],[rake],[no])
        ])
AM_CONDITIONAL([HAVE_RUBY],
    [test "x$RAKE" != "xno" && test -n "$HAVE_LIBRUBY"])

dnl Check for Java.
AC_ARG_WITH(java_home,
    [AS_HELP_STRING([--with-java-home],
        [specify path to JDK directory @<:@default=check@:>@])],
    [],
    [with_java_home=check])

if test "x$with_java_home" != "xno"; then
    if test "x$with_java_home" != "xyes" && test "x$with_java_home" != "xcheck"
    then
        # Reject unsafe characters in $JAVA_HOME
        jh_lf='
'
        case $JAVA_HOME in
          *[\\\"\#\$\&\'\`$jh_lf\ \	]*)
            AC_MSG_FAILURE([unsafe \$JAVA_HOME directory (use --with-java-home=no to disable Java support)]);;
        esac
        if test -d "$with_java_home"; then
            JAVA_HOME="$with_java_home"
        else
            AC_MSG_FAILURE([$with_java_home is not a directory (use --with-java-home=no to disable Java support)])
        fi
    fi

    if test "x$JAVA_HOME" = "x"; then
        # Look for Java in some likely locations.
        for d in \
            /usr/lib/jvm/java \
            /usr/lib/jvm/java-6-openjdk
        do
            if test -d $d && test -f $d/bin/java; then
                JAVA_HOME=$d
                break
            fi
        done
    fi

    if test "x$JAVA_HOME" != "x"; then
        AC_MSG_CHECKING(for JDK in $JAVA_HOME)
        if test ! -x "$JAVA_HOME/bin/java"; then
            AC_MSG_ERROR([missing $JAVA_HOME/bin/java binary (use --with-java-home=no to disable Java support)])
        else
            JAVA="$JAVA_HOME/bin/java"
        fi
        if test ! -x "$JAVA_HOME/bin/javac"; then
            AC_MSG_ERROR([missing $JAVA_HOME/bin/javac binary])
        else
            JAVAC="$JAVA_HOME/bin/javac"
        fi
        if test ! -x "$JAVA_HOME/bin/javah"; then
            AC_MSG_ERROR([missing $JAVA_HOME/bin/javah binary])
        else
            JAVAH="$JAVA_HOME/bin/javah"
        fi
        if test ! -x "$JAVA_HOME/bin/javadoc"; then
            AC_MSG_ERROR([missing $JAVA_HOME/bin/javadoc binary])
        else
            JAVADOC="$JAVA_HOME/bin/javadoc"
        fi
        if test ! -x "$JAVA_HOME/bin/jar"; then
            AC_MSG_ERROR([missing $JAVA_HOME/bin/jar binary])
        else
            JAR="$JAVA_HOME/bin/jar"
        fi
        java_version=`$JAVA -version 2>&1 | grep "java version"`
        AC_MSG_RESULT(found $java_version in $JAVA_HOME)

        dnl Find jni.h.
        AC_MSG_CHECKING([for jni.h])
        if test -f "$JAVA_HOME/include/jni.h"; then
            JNI_CFLAGS="-I$JAVA_HOME/include"
        else
            if test "`find $JAVA_HOME -name jni.h`" != ""; then
                head=`find $JAVA_HOME -name jni.h | tail -1`
                dir=`dirname "$head"`
                JNI_CFLAGS="-I$dir"
            else
                AC_MSG_FAILURE([missing jni.h header file])
            fi
        fi
        AC_MSG_RESULT([$JNI_CFLAGS])

        dnl Find jni_md.h.
        AC_MSG_CHECKING([for jni_md.h])
        case "$build_os" in
        *linux*) system="linux" ;;
        *SunOS*) system="solaris" ;;
        *cygwin*) system="win32" ;;
        *) system="$build_os" ;;
        esac
        if test -f "$JAVA_HOME/include/$system/jni_md.h"; then
            JNI_CFLAGS="$JNI_CFLAGS -I$JAVA_HOME/include/$system"
        else
            if test "`find $JAVA_HOME -name jni_md.h`" != ""; then
                head=`find $JAVA_HOME -name jni_md.h | tail -1`
                dir=`dirname "$head"`
                JNI_CFLAGS="$JNI_CFLAGS -I$dir"
            else
                AC_MSG_FAILURE([missing jni_md.h header file])
            fi
        fi
        AC_MSG_RESULT([$JNI_CFLAGS])

        dnl Need extra version flag?
        AC_MSG_CHECKING([extra javac flags])
        JAVAC_FLAGS=
        javac_version=`$JAVAC -version 2>&1`
        case "$javac_version" in
        *Eclipse*)
            JAVAC_FLAGS="-source 1.5" ;;
        esac
        AC_MSG_RESULT([$JAVAC_FLAGS])

        dnl Where to install jarfiles.
        dnl XXX How to make it configurable?
        JAR_INSTALL_DIR=\${prefix}/share/java
        JNI_INSTALL_DIR=\${libdir}

        dnl JNI version.
        jni_major_version=`echo "$VERSION" | awk -F. '{print $1}'`
        jni_minor_version=`echo "$VERSION" | awk -F. '{print $2}'`
        jni_micro_version=`echo "$VERSION" | awk -F. '{print $3}'`
        JNI_VERSION_INFO=`expr "$jni_major_version" + "$jni_minor_version"`":$jni_micro_version:$jni_minor_version"
    fi
fi

AC_SUBST(JAVA_HOME)
AC_SUBST(JAVA)
AC_SUBST(JAVAC)
AC_SUBST(JAVAH)
AC_SUBST(JAVADOC)
AC_SUBST(JAR)
AC_SUBST(JNI_CFLAGS)
AC_SUBST(JAVAC_FLAGS)
AC_SUBST(JAR_INSTALL_DIR)
AC_SUBST(JNI_INSTALL_DIR)
AC_SUBST(JNI_VERSION_INFO)

AM_CONDITIONAL([HAVE_JAVA],[test -n "$JAVAC"])

dnl Check for Haskell (GHC).
GHC=no
AC_ARG_ENABLE([haskell],
        AS_HELP_STRING([--disable-haskell], [Disable Haskell language bindings]),
        [],
        [enable_haskell=yes])
AS_IF([test "x$enable_haskell" != "xno"],
        [
        GHC=
        AC_CHECK_PROG([GHC],[ghc],[ghc],[no])
        ])
AM_CONDITIONAL([HAVE_HASKELL],
    [test "x$GHC" != "xno"])

dnl PHP
PHP=no
AC_ARG_ENABLE([php],
        AS_HELP_STRING([--disable-php], [Disable PHP language bindings]),
        [],
        [enable_php=yes])
AS_IF([test "x$enable_php" != "xno"],
        [
        PHP=
        AC_CHECK_PROG([PHP],[php],[php],[no])
        AC_CHECK_PROG([PHPIZE],[phpize],[phpize],[no])
        ])
AM_CONDITIONAL([HAVE_PHP], [test "x$PHP" != "xno" && test "x$PHPIZE" != "xno"])

dnl Check for Perl modules needed by Perl virt tools (virt-df, etc.)
AS_IF([test "x$PERL" != "xno"],
        [
        missing_perl_modules=no
        for pm in Pod::Usage Getopt::Long Sys::Virt Data::Dumper Locale::TextDomain Win::Hivex Win::Hivex::Regedit String::ShellQuote; do
            AC_MSG_CHECKING([for $pm])
            if ! $PERL -M$pm -e1 >/dev/null 2>&1; then
                AC_MSG_RESULT([no])
                missing_perl_modules=yes
            else
                AC_MSG_RESULT([yes])
            fi
        done
        if test "x$missing_perl_modules" = "xyes"; then
            AC_MSG_WARN([some Perl modules required to compile the Perl virt-* tools are missing])
        fi
        ])

AM_CONDITIONAL([HAVE_TOOLS],
    [test "x$PERL" != "xno" && test "x$missing_perl_modules" != "xyes"])

dnl Library versioning.
MAX_PROC_NR=`cat $srcdir/src/MAX_PROC_NR`
AC_SUBST(MAX_PROC_NR)

dnl Replace libtool with a wrapper that clobbers dependency_libs in *.la files
dnl http://lists.fedoraproject.org/pipermail/devel/2010-November/146343.html
LIBTOOL='$(SHELL) $(top_srcdir)/libtool-kill-dependency_libs.sh $(top_builddir)/libtool'
AC_SUBST([LIBTOOL])

dnl Run in subdirs.
if test "x$enable_daemon" = "xyes"; then
    AC_CONFIG_SUBDIRS([daemon])
fi

dnl Produce output files.
AC_CONFIG_HEADERS([config.h])
dnl http://www.mail-archive.com/automake@gnu.org/msg10204.html
AC_CONFIG_FILES([podwrapper.sh],
                [chmod +x podwrapper.sh])
AC_CONFIG_FILES([Makefile
                 appliance/Makefile
                 capitests/Makefile
                 cat/Makefile
                 caution/Makefile
                 csharp/Makefile
                 debian/changelog
                 df/Makefile
                 edit/Makefile
                 examples/Makefile
                 fish/Makefile
                 fuse/Makefile
                 generator/Makefile
                 gnulib/lib/Makefile
                 gnulib/tests/Makefile
                 haskell/Makefile
                 images/Makefile
                 inspector/Makefile
                 java/Makefile
                 libguestfs.pc
                 ocaml/META
                 ocaml/Makefile
                 ocaml/examples/Makefile
                 perl/Makefile
                 perl/Makefile.PL
                 perl/examples/Makefile
                 php/Makefile
                 po-docs/Makefile
                 po-docs/ja/Makefile
                 po-docs/uk/Makefile
                 po/Makefile.in
                 python/Makefile
                 python/examples/Makefile
                 regressions/Makefile
                 rescue/Makefile
                 resize/Makefile
                 ruby/Makefile
                 ruby/Rakefile
                 ruby/examples/Makefile
                 src/Makefile
                 test-tool/Makefile
                 tools/Makefile])
AC_OUTPUT

dnl Produce summary.
echo
echo
echo "------------------------------------------------------------"
echo "Thank you for downloading $PACKAGE_STRING"
echo
echo "This is how we have configured the optional components for you today:"
echo
echo    "Daemon .............................. $enable_daemon"
echo    "Appliance ........................... $enable_appliance"
echo    "QEMU ................................ $QEMU"
echo -n "OCaml bindings ...................... "
if test "x$HAVE_OCAML_TRUE" = "x"; then echo "yes"; else echo "no"; fi
echo -n "Perl bindings ....................... "
if test "x$HAVE_PERL_TRUE" = "x"; then echo "yes"; else echo "no"; fi
echo -n "Python bindings ..................... "
if test "x$HAVE_PYTHON_TRUE" = "x"; then echo "yes"; else echo "no"; fi
echo -n "Ruby bindings ....................... "
if test "x$HAVE_RUBY_TRUE" = "x"; then echo "yes"; else echo "no"; fi
echo -n "Java bindings ....................... "
if test "x$HAVE_JAVA_TRUE" = "x"; then echo "yes"; else echo "no"; fi
echo -n "Haskell bindings .................... "
if test "x$HAVE_HASKELL_TRUE" = "x"; then echo "yes"; else echo "no"; fi
echo -n "PHP bindings ........................ "
if test "x$HAVE_PHP_TRUE" = "x"; then echo "yes"; else echo "no"; fi
echo    "guestfish and C virt tools .......... yes"
echo -n "Perl virt tools ..................... "
if test "x$HAVE_TOOLS_TRUE" = "x"; then echo "yes"; else echo "no"; fi
echo -n "virt-resize ......................... "
if test "x$HAVE_OCAML" = "x" && test "x$HAVE_OCAML_PCRE" = "x"; then echo "yes"; else echo "no"; fi
echo "FUSE filesystem ..................... $enable_fuse"
echo
echo "If any optional component is configured 'no' when you expected 'yes'"
echo "then you should check the preceeding messages."
echo
echo "Please report bugs back to the mailing list:"
echo "http://www.redhat.com/mailman/listinfo/libguestfs"
echo
echo "Next you should type 'make' to build the package,"
echo "then 'make check' to run the tests."
echo "------------------------------------------------------------"