aboutsummaryrefslogtreecommitdiff
path: root/0.8.0/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to '0.8.0/configure.ac')
-rw-r--r--0.8.0/configure.ac693
1 files changed, 693 insertions, 0 deletions
diff --git a/0.8.0/configure.ac b/0.8.0/configure.ac
new file mode 100644
index 0000000..a3d069c
--- /dev/null
+++ b/0.8.0/configure.ac
@@ -0,0 +1,693 @@
+dnl vim: set sw=4 sts=4 ts=4 noet ft=config foldmethod=marker foldmarker={{{,}}} :
+
+dnl {{{ program, version
+AC_PREREQ(2.59)
+AC_INIT([paludis/paludis.hh])
+AC_CONFIG_AUX_DIR(config)
+
+VERSION_MAJOR=0
+VERSION_MINOR=8
+VERSION_MICRO=0
+VERSION_FULL="$VERSION_MAJOR.$VERSION_MINOR.$VERSION_MICRO"
+VERSION="$VERSION_FULL"
+VERSION_LIB_CURRENT=`expr 100 '*' $VERSION_MAJOR + $VERSION_MINOR`
+VERSION_LIB_REVISION="$VERSION_MICRO"
+
+AC_SUBST([VERSION_MAJOR])
+AC_SUBST([VERSION_MINOR])
+AC_SUBST([VERSION_MICRO])
+AC_SUBST([VERSION_FULL])
+AC_SUBST([VERSION_LIB_CURRENT])
+AC_SUBST([VERSION_LIB_REVISION])
+
+AM_INIT_AUTOMAKE(paludis, [$VERSION_FULL])
+dnl }}}
+
+dnl {{{ basic toolchain checks
+AC_LANG([C++])
+AC_DISABLE_STATIC
+AC_PROG_CXX
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_LIBTOOL
+AC_PROG_MAKE_SET
+dnl }}}
+
+dnl {{{ check for partial specialisation of template classes
+AC_MSG_CHECKING([for compiler support for partial specialisation of template classes])
+AC_COMPILE_IFELSE([
+template <typename T_>
+struct S
+{
+ static const int s = 0;
+};
+
+template <typename T_>
+struct S<const T_>
+{
+};
+
+template <typename T_>
+struct S<const T_ &>
+{
+ static const int t = 0;
+};
+
+int main(int, char *[])
+{
+ return S<int &>::s + S<const int &>::t;
+}
+],
+ [AC_MSG_RESULT([yes])],
+ [
+ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([Your C++ compiler doesn't compile C++ code])
+ ])
+dnl }}}
+
+dnl {{{ check for basic_string and string::find_last_not_of
+AC_MSG_CHECKING([for a sufficiently standard std::basic_string<>])
+AC_COMPILE_IFELSE([
+#include <string>
+int main(int, char **)
+{
+ std::string s("test");
+ std::basic_string<int> t;
+ return std::string::npos != s.find_last_not_of("abcde") ? 0 : 1;
+}
+],
+ [AC_MSG_RESULT([yes])],
+ [
+ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([I need a less broken std::basic_string<> implementation])
+ ])
+dnl }}}
+
+dnl {{{ check for limits
+AC_MSG_CHECKING([for a usable std::numeric_limits])
+AC_COMPILE_IFELSE([
+#include <limits>
+int main(int, char **)
+{
+ return std::numeric_limits<unsigned>::digits >> 3;
+}
+],
+ [AC_MSG_RESULT([yes])],
+ [
+ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([Your std::numeric_limits either doesn't exist or hates me])
+ ])
+dnl }}}
+
+dnl {{{ check for broken std::set<>::const_reverse_iterator
+AC_MSG_CHECKING([for a usable std::set<>::const_reverse_iterator])
+AC_COMPILE_IFELSE([
+#include <set>
+int main(int, char **)
+{
+ std::set<int> s;
+ s.insert(1);
+ std::set<int>::const_reverse_iterator i;
+ return *i;
+}
+],
+ [AC_MSG_RESULT([yes])],
+ [
+ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([Your std::set<>::const_reverse_iterator is h0rked])
+ ])
+dnl }}}
+
+dnl {{{ check for hashes
+have_tr1_hashes=0
+have_ext_hashes=0
+have_std_hashes=0
+AC_MSG_CHECKING([for hashed associative containers])
+AC_COMPILE_IFELSE([
+#include <tr1/unordered_map>
+int main(int, char **)
+{
+ std::tr1::unordered_map<int, int> m;
+ m.insert(std::make_pair(1, 2));
+}
+],
+ [
+ AC_MSG_RESULT([std::tr1::unordered_map])
+ have_tr1_hashes=1
+ ],
+ [
+ AC_COMPILE_IFELSE([
+#include <ext/hash_map>
+int main(int, char **)
+{
+ __gnu_cxx::hash_map<int, int> m;
+ m.insert(std::make_pair(1, 2));
+}
+],
+ [
+ AC_MSG_RESULT([__gnu_cxx::hash_map])
+ have_ext_hashes=1
+ ],
+ [
+ AC_COMPILE_IFELSE([
+#include <hash_map>
+int main(int, char **)
+{
+ std::hash_map<int, int> m;
+ m.insert(std::make_pair(1, 2));
+}
+],
+ [
+ AC_MSG_RESULT([std::hash_map])
+ have_std_hashes=1
+ ],
+ [
+ AC_MSG_RESULT([no, falling back to std::map (slower)])
+ ])])])
+
+HAVE_TR1_HASHES=$have_tr1_hashes
+AC_DEFINE_UNQUOTED([HAVE_TR1_HASHES], $have_tr1_hashes, [Do we have std::tr1:: hashes?])
+AC_SUBST([HAVE_TR1_HASHES])
+HAVE_EXT_HASHES=$have_ext_hashes
+AC_DEFINE_UNQUOTED([HAVE_EXT_HASHES], $have_ext_hashes, [Do we have __gnu_cxx:: hashes?])
+AC_SUBST([HAVE_EXT_HASHES])
+HAVE_STD_HASHES=$have_std_hashes
+AC_DEFINE_UNQUOTED([HAVE_STD_HASHES], $have_std_hashes, [Do we have std:: hashes?])
+AC_SUBST([HAVE_STD_HASHES])
+dnl }}}
+
+need_xml_check=
+
+dnl {{{ we need libebt.
+dnl don't use AC_CHECK_HEADER, it does silly things
+AC_MSG_CHECKING([for libebt])
+AC_COMPILE_IFELSE([
+#include <libebt/libebt.hh>
+#include <string>
+struct Tag { };
+int main(int, char **)
+{
+ libebt::BacktraceContext<Tag> context("blah");
+}
+],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ AC_MSG_ERROR([libebt (http://libebt.berlios.de/) is required])])
+dnl }}}
+
+dnl {{{ we need libwrapiter.
+dnl don't use AC_CHECK_HEADER, it does silly things
+AC_MSG_CHECKING([for libwrapiter])
+AC_COMPILE_IFELSE([
+#include <libwrapiter/libwrapiter.hh>
+#include <string>
+struct C {
+ typedef libwrapiter::ForwardIterator<C, int> Iterator;
+ Iterator begin();
+ Iterator end();
+};
+int main(int, char **)
+{
+}
+],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ AC_MSG_ERROR([libwrapiter (http://libwrapiter.berlios.de/) is required])])
+AC_MSG_CHECKING([libwrapiter version])
+AC_COMPILE_IFELSE([
+#include <libwrapiter/libwrapiter.hh>
+#if LIBWRAPITER_VERSION < 200
+# error libwrapiter 0.2 or later required
+#endif
+],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ AC_MSG_ERROR([libwrapiter version must be at least 0.2])])
+dnl }}}
+
+dnl {{{ check for various misc functions.
+dnl It's probably possible to make many of these optional rather than
+dnl hard requirements. If any of these fail for you, send patches.
+AC_CHECK_FUNCS([alarm], [], [AC_MSG_ERROR([I need alarm])])
+AC_CHECK_FUNCS([strerror], [], [AC_MSG_ERROR([I need strerror])])
+AC_CHECK_FUNCS([signal], [], [AC_MSG_ERROR([I need signal])])
+AC_CHECK_FUNCS([popen], [], [AC_MSG_ERROR([I need popen])])
+AC_CHECK_FUNCS([posix_openpt], [], [AC_MSG_ERROR([I need posix_openpt])])
+AC_CHECK_FUNCS([ptsname], [], [AC_MSG_ERROR([I need ptsname])])
+AC_CHECK_FUNCS([grantpt], [], [AC_MSG_ERROR([I need grantpt])])
+AC_CHECK_FUNCS([unlockpt], [], [AC_MSG_ERROR([I need unlockpt])])
+dnl }}}
+
+dnl {{{ check for cxxflags
+if test x == x"$LET_ME_RICE"
+then
+ AC_MSG_CHECKING([for go faster stripes])
+ for x in "as-needed" "visibility" "enforce-eh" "fast-math" "rtti"
+ do
+ if echo "${LDFLAGS} ${CFLAGS} ${CXXFLAGS}" | grep "$x" >/dev/null ; then
+ AC_MSG_RESULT([$x])
+ if test $x = "as-needed" ; then
+ echo "You shouldn't have as-needed as a global flag. It makes the linker break" 1>&2
+ echo "legitimate code. For more details, read http://ciaranm.org/show_post.pl?post_id=13" 1>&2
+ fi
+ if test $x = "visibility" ; then
+ echo "Don't use visibility except for applications that're designed for" 1>&2
+ echo "it. At present, Paludis can't be used with visibility because of what" 1>&2
+ echo "appears to be an ld.so bug." 1>&2
+ fi
+ AC_MSG_ERROR([Bad ricer. No bagel.])
+ fi
+ done
+ AC_MSG_RESULT([no])
+fi
+
+PALUDIS_CXXFLAGS=
+PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST=
+PALUDIS_CXXFLAGS_NO_WREDUNDANT_DECLS=
+PALUDIS_CXXFLAGS_NO_WSHADOW=
+PALUDIS_CXXFLAGS_WITHOUT_PEDANTIC=
+PALUDIS_CXXFLAGS_VISIBILITY=
+AC_MSG_CHECKING([whether our compiler is iccy])
+AC_COMPILE_IFELSE([
+#ifndef __ICC
+#error nope
+#endif
+],
+ [cxx_compiler_icc=yes],
+ [cxx_compiler_icc=no])
+AC_MSG_RESULT([${cxx_compiler_icc}])
+AC_DEFUN([CHECK_CXXFLAG], [
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $PALUDIS_CXXFLAGS $1 -Werror"
+ AC_COMPILE_IFELSE([
+#include <string>
+#include <iostream>
+int main(int, char **)
+{
+ std::string s("test");
+ std::cout << s << std::endl;
+}
+ ],
+ [cxxflag_success=yes],
+ [cxxflag_success=no])
+ CXXFLAGS="$save_CXXFLAGS"
+ if test "x$cxxflag_success" = "xyes" ; then
+ PALUDIS_CXXFLAGS="$PALUDIS_CXXFLAGS $1"
+ cxxflags_message="${cxxflags_message} $1"
+ fi
+ ])
+AC_MSG_CHECKING([for appropriate compiler flags])
+if test "x${cxx_compiler_icc}" = "xyes" ; then
+ CHECK_CXXFLAG([-Wall])
+ CHECK_CXXFLAG([-wd279])
+ CHECK_CXXFLAG([-wd304])
+ CHECK_CXXFLAG([-wd383])
+ CHECK_CXXFLAG([-wd444])
+ CHECK_CXXFLAG([-wd488])
+ CHECK_CXXFLAG([-wd981])
+ CHECK_CXXFLAG([-wd1125])
+ CHECK_CXXFLAG([-wd1418])
+ PALUDIS_CXXFLAGS_WITHOUT_PEDANTIC=$PALUDIS_CXXFLAGS
+elif test "x${ac_cv_cxx_compiler_gnu}" = "xyes" ; then
+ CHECK_CXXFLAG([-Wall])
+ CHECK_CXXFLAG([-Wextra])
+ if ! test "x$cxxflag_success" = "xyes" ; then
+ CHECK_CXXFLAG([-W])
+ fi
+ CHECK_CXXFLAG([-Wold-style-cast])
+ if test "x$cxxflag_success" = "xyes" ; then
+ PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST=-Wno-old-style-cast
+ fi
+ CHECK_CXXFLAG([-Wredundant-decls])
+ if test "x$cxxflag_success" = "xyes" ; then
+ PALUDIS_CXXFLAGS_NO_WREDUNDANT_DECLS=-Wno-redundant-decls
+ fi
+ CHECK_CXXFLAG([-Wstrict-null-sentinel])
+ CHECK_CXXFLAG([-Wmissing-noreturn])
+ CHECK_CXXFLAG([-Woverloaded-virtual])
+ CHECK_CXXFLAG([-Winit-self])
+ CHECK_CXXFLAG([-Wunreachable-code])
+ CHECK_CXXFLAG([-Wunused-function])
+ CHECK_CXXFLAG([-Wshadow])
+ if test "x$cxxflag_success" = "xyes" ; then
+ PALUDIS_CXXFLAGS_NO_WSHADOW=-Wno-shadow
+ fi
+ PALUDIS_CXXFLAGS_WITHOUT_PEDANTIC=$PALUDIS_CXXFLAGS
+ CHECK_CXXFLAG([-pedantic])
+else
+ CHECK_CXXFLAG([-Wall])
+fi
+AC_MSG_RESULT([${cxxflags_message}])
+AC_SUBST([PALUDIS_CXXFLAGS])
+AC_SUBST([PALUDIS_CXXFLAGS_WITHOUT_PEDANTIC])
+AC_SUBST([PALUDIS_CXXFLAGS_NO_WOLD_STYLE_CAST])
+AC_SUBST([PALUDIS_CXXFLAGS_NO_WSHADOW])
+AC_SUBST([PALUDIS_CXXFLAGS_NO_WREDUNDANT_DECLS])
+
+dnl AC_MSG_CHECKING([whether to enable visibility])
+dnl AC_ARG_ENABLE([visibility],
+dnl AS_HELP_STRING([--enable-visibility], [Enable visibility (g++-4.1)]),
+dnl [ENABLE_VISIBILITY=$enableval],
+dnl [ENABLE_VISIBILITY=no])
+dnl AC_MSG_RESULT([$ENABLE_VISIBILITY])
+ENABLE_VISIBILITY=no
+AC_SUBST([ENABLE_VISIBILITY])
+if test "x$ENABLE_VISIBILITY" = "xyes" ; then
+ AC_MSG_CHECKING([for appropriate compiler visibility flags])
+ old_PALUDIS_CXXFLAGS=$PALUDIS_CXXFLAGS
+ PALUDIS_CXXFLAGS=
+ CHECK_CXXFLAG([-fvisibility-inlines-hidden])
+ CHECK_CXXFLAG([-fvisibility=hidden])
+ AC_MSG_RESULT([$PALUDIS_CXXFLAGS])
+ PALUDIS_CXXFLAGS_VISIBILITY=$PALUDIS_CXXFLAGS
+ PALUDIS_CXXFLAGS=$old_PALUDIS_CXXFLAGS
+ PALUDIS_ENABLE_VISIBILITY=1
+else
+ PALUDIS_ENABLE_VISIBILITY=0
+fi
+AC_SUBST([PALUDIS_ENABLE_VISIBILITY])
+AC_SUBST([PALUDIS_CXXFLAGS_VISIBILITY])
+dnl }}}
+
+dnl {{{ sandbox
+AC_MSG_CHECKING([whether to enable sandbox])
+AC_ARG_ENABLE([sandbox],
+ AS_HELP_STRING([--enable-sandbox], [Enable sandbox]),
+ [HAVE_SANDBOX=$enableval
+ AC_MSG_RESULT([$enableval])],
+ [AC_MSG_RESULT([autodetect])
+ AC_CHECK_PROG(HAVE_SANDBOX, [sandbox], [yes], [no])])
+AC_SUBST([HAVE_SANDBOX])
+AM_CONDITIONAL([HAVE_SANDBOX], test "x$HAVE_SANDBOX" = "xyes")
+if test x"$HAVE_SANDBOX" = "xyes" ; then
+ AC_DEFINE([HAVE_SANDBOX], 1, [Do we have sandbox?])
+else
+ AC_DEFINE([HAVE_SANDBOX], 0)
+fi
+dnl }}}
+
+dnl {{{ doxygen, dot
+AC_MSG_CHECKING([whether to enable doxygen])
+AC_ARG_ENABLE([doxygen],
+ AS_HELP_STRING([--enable-doxygen], [Enable 'make doxygen' (developer docs)]),
+ [HAVE_DOXYGEN=$enableval
+ AC_MSG_RESULT([$enableval])],
+ [AC_MSG_RESULT([autodetect])
+ AC_CHECK_PROG(HAVE_DOXYGEN, [doxygen], [yes], [no])])
+AC_SUBST([HAVE_DOXYGEN])
+AM_CONDITIONAL([HAVE_DOXYGEN], test "x$HAVE_DOXYGEN" = "xyes")
+
+AC_MSG_CHECKING([whether to enable dot])
+AC_ARG_ENABLE([dot],
+ AS_HELP_STRING([--enable-dot], [Enable 'HAVE_DOT' in doxygen.conf]),
+ [HAVE_DOT=$enableval
+ AC_MSG_RESULT([$enableval])],
+ [AC_MSG_RESULT([autodetect])
+ AC_CHECK_PROG(HAVE_DOT, [dot], [yes], [no])])
+AC_SUBST([HAVE_DOT])
+AM_CONDITIONAL([HAVE_DOT], test "x$HAVE_DOT" = "xyes")
+dnl }}}
+
+dnl {{{ check for whether to build qa stuff
+AC_MSG_CHECKING([whether to build QA tools])
+AC_ARG_ENABLE([qa],
+ AS_HELP_STRING([--enable-qa], [Build QA things (needs pcre++, libxml2)]),
+ [ENABLE_QA=$enableval
+ AC_MSG_RESULT([$enableval])],
+ [ENABLE_QA=no
+ AC_MSG_RESULT([no])])
+if test x"$ENABLE_QA" = "xyes" ; then
+ AC_CHECK_PROG(HAVE_PRCEPLUSPLUS, [pcre++-config], [yes], [no])
+ if test x"$HAVE_PRCEPLUSPLUS" = "xyes" ; then
+ PCREPLUSPLUS_CFLAGS=`pcre++-config --cflags`
+ AC_SUBST(PCREPLUSPLUS_CFLAGS)
+ PCREPLUSPLUS_LIBS=`pcre++-config --libs`
+ AC_SUBST(PCREPLUSPLUS_LIBS)
+ else
+ AC_MSG_ERROR([pcre++ (http://www.daemon.de/PCRE) is required if --enable-qa is used])
+ fi
+ need_xml_check=yes
+fi
+AC_SUBST([ENABLE_QA])
+AM_CONDITIONAL([ENABLE_QA], test "x$ENABLE_QA" = "xyes")
+dnl }}}
+
+dnl {{{ check for whether to build glsa stuff
+AC_MSG_CHECKING([whether to build GLSA support])
+AC_ARG_ENABLE([qa],
+ AS_HELP_STRING([--enable-glsa], [Build GLSA things (needs libxml2)]),
+ [ENABLE_GLSA=$enableval
+ AC_MSG_RESULT([$enableval])],
+ [ENABLE_GLSA=no
+ AC_MSG_RESULT([no])])
+if test x"$ENABLE_GLSA" = "xyes" ; then
+ need_xml_check=yes
+ AC_DEFINE([ENABLE_GLSA], [1], [Build GLSA support])
+fi
+AC_SUBST([ENABLE_GLSA])
+AM_CONDITIONAL([ENABLE_GLSA], test "x$ENABLE_QA" = "xyes")
+dnl }}}
+
+dnl {{{ libxml2 check
+NEED_XML=$need_xml_check
+if test "x$need_xml_check" = "xyes" ; then
+ PKG_CHECK_MODULES(LIBXML2DEPS, [libxml-2.0 >= 2.6], [],
+ [AC_MSG_ERROR([libxml2 (http://xmlsoft.org/) is required if --enable-qa or --enable-glsa is used])])
+ AC_SUBST(LIBXML2DEPS_CFLAGS)
+ AC_SUBST(LIBXML2DEPS_LIBS)
+fi
+AC_SUBST([NEED_XML])
+AM_CONDITIONAL([NEED_XML], test "x$NEED_XML" = "xyes")
+dnl }}}
+
+dnl {{{ colourschemes
+AC_MSG_CHECKING([whether we like pink])
+AC_ARG_ENABLE([pink],
+ AS_HELP_STRING([--enable-pink], [Make it pink]),
+ [WANT_PINK=$enableval
+ AC_MSG_RESULT([$enableval])
+ if test x$enableval = xyes ; then
+ COLOURSCHEME=pink
+ else
+ COLOURSCHEME=default
+ fi
+ ],
+ [WANT_PINK=no
+ AC_MSG_RESULT([no :(])
+ COLOURSCHEME=default])
+AM_CONDITIONAL([WANT_PINK], test "x$WANT_PINK" = "xyes")
+AC_SUBST([COLOURSCHEME])
+if test x"$WANT_PINK" = "xyes"; then
+ AC_DEFINE([PALUDIS_COLOUR_PINK], 1, [Are we pinkified?])
+else
+ AC_DEFINE([PALUDIS_COLOUR_PINK], 0)
+fi
+dnl }}}
+
+dnl {{{ Check for dlopen symbol and set DYNAMIC_LD_LIBS.
+dnl
+dnl AM_DL()
+dnl
+
+AC_CHECK_LIB(c, dlopen,
+[DYNAMIC_LD_LIBS=""
+have_dl=yes])
+
+if test x$have_dl != "xyes"; then
+AC_CHECK_LIB(dl, dlopen,
+ [DYNAMIC_LD_LIBS="-ldl"
+ have_dl=yes])
+fi
+
+if test x$have_dl != "xyes"; then
+AC_MSG_ERROR(dynamic linker needed)
+fi
+
+AC_SUBST(DYNAMIC_LD_LIBS)
+
+dnl }}}
+
+dnl {{{ selinux support
+AC_MSG_CHECKING([whether to enable selinux support])
+AC_ARG_ENABLE([selinux],
+ AS_HELP_STRING([--enable-selinux], [Enable selinux support (default: check)]),
+ enable_selinux=$enableval,
+ enable_selinux=autodetect)
+AC_MSG_RESULT($enable_selinux)
+
+if test "x$enable_selinux" != "xno"; then
+ AC_CHECK_LIB([selinux],
+ [is_selinux_enabled],
+ found_selinux=yes,
+ found_selinux=no)
+ if test "x$enable_selinux" = "xyes" && test "x$found_selinux" != "xyes"; then
+ AC_MSG_ERROR([SElinux support requested but not found])
+ fi
+fi
+
+if test "x$found_selinux" = "xyes"; then
+ AC_DEFINE([HAVE_SELINUX], [1], [Build selinux support])
+fi
+dnl }}}
+
+dnl {{{ gtk support
+dnl AC_MSG_CHECKING([whether to build the gtk+ client])
+dnl AC_ARG_ENABLE([gtk],
+dnl AS_HELP_STRING([--enable-gtk], [Enable gtk+ client (default: disable)]),
+dnl enable_gtk=$enableval,
+dnl enable_gtk=no)
+dnl AC_MSG_RESULT($enable_gtk)
+
+enable_gtk=no
+if test "x$enable_gtk" = "xyes"; then
+ GLIBMM_LIBDIR=`pkg-config --variable=libdir glibmm-2.4`
+ GMMPROC_DIR=$GLIBMM_LIBDIR/glibmm-2.4/proc
+ AC_SUBST(GMMPROC_DIR)
+ GMMPROC=$GMMPROC_DIR/gmmproc
+ AC_SUBST(GMMPROC)
+ PKG_CHECK_MODULES(GTKDEPS, [gtkmm-2.4 >= 2.6.0 glibmm-2.4 >= 2.6.0 pangomm-1.4 gdkmm-2.4 vte >= 0.12.1],
+ [], [AC_MSG_ERROR([gtkmm-2.4 and vte-0.12.1 or later are required if --enable-gtk is used])])
+ AC_SUBST(GTKDEPS_CFLAGS)
+ AC_SUBST(GTKDEPS_LIBS)
+fi
+
+AM_CONDITIONAL([ENABLE_GTK], test "x$enable_gtk" = "xyes")
+dnl }}}
+
+dnl {{{ ruby interface
+AC_MSG_CHECKING([whether to build the ruby interface])
+AC_ARG_ENABLE([ruby],
+ AS_HELP_STRING([--enable-ruby], [Enable ruby interface (default: disable)]),
+ enable_ruby=$enableval,
+ enable_ruby=no)
+AC_MSG_RESULT($enable_ruby)
+
+if test "x$enable_ruby" = "xyes" ; then
+ AC_CHECK_PROGS(RUBY, ruby, )
+ if test "x$RUBY" = "x" ; then
+ AC_MSG_ERROR([Ruby is required for --enable-ruby])
+ fi
+
+ AC_MSG_CHECKING([for Ruby archdir])
+ RUBY_ARCHDIR=`ruby -r rbconfig -e 'puts Config::CONFIG@<:@"archdir"@:>@'`
+ if test "x$RUBY_ARCHDIR" = "x" ; then
+ AC_MSG_ERROR([Could not find Ruby archdir])
+ fi
+ AC_MSG_RESULT([$RUBY_ARCHDIR])
+ AC_SUBST([RUBY_ARCHDIR])
+
+ AC_MSG_CHECKING([for Ruby sitearchdir])
+ RUBY_SITEARCHDIR=`ruby -r rbconfig -e 'puts Config::CONFIG@<:@"sitearchdir"@:>@'`
+ if test "x$RUBY_SITEARCHDIR" = "x" ; then
+ AC_MSG_ERROR([Could not find Ruby sitearchdir])
+ fi
+ AC_MSG_RESULT([$RUBY_SITEARCHDIR])
+ AC_SUBST([RUBY_SITEARCHDIR])
+
+ AC_MSG_CHECKING([for Ruby soname])
+ RUBY_SONAME=`ruby -r rbconfig -e 'puts Config::CONFIG@<:@"RUBY_SO_NAME"@:>@'`
+ if test "x$RUBY_SONAME" = "x" ; then
+ AC_MSG_ERROR([Could not find Ruby soname])
+ fi
+ AC_MSG_RESULT([$RUBY_SONAME])
+ AC_SUBST([RUBY_SONAME])
+
+ AC_ARG_WITH([ruby-install-dir],
+ AS_HELP_STRING([--with-ruby-install-dir=dir], [Specify Ruby installation dir]),
+ RUBY_INSTALL_DIR=`eval echo $withval`,
+ RUBY_INSTALL_DIR=)
+ AC_MSG_CHECKING([for Ruby installation dir])
+ if test "x$RUBY_INSTALL_DIR" = "x" ; then
+ RUBY_INSTALL_DIR=$RUBY_SITEARCHDIR
+ fi
+ AC_MSG_RESULT([$RUBY_INSTALL_DIR])
+ AC_SUBST([RUBY_INSTALL_DIR])
+fi
+
+AM_CONDITIONAL([ENABLE_RUBY], test "x$enable_ruby" = "xyes")
+
+dnl }}}
+
+dnl {{{ is sed gnu sed
+AC_MSG_CHECKING([if we need a sed wrapper])
+AC_SUBST([NEED_SED_WRAPPER])
+AM_CONDITIONAL([NEED_SED_WRAPPER], test x`sed --version &>/dev/null || echo yes` = "xyes")
+if test x`sed --version &>/dev/null || echo yes` = "xyes"; then
+ AC_DEFINE([NEED_SED_WRAPPER], 1, [Do we need sed wrapper?])
+ AC_MSG_RESULT([yes])
+else
+ AC_DEFINE([NEED_SED_WRAPPER], 0)
+ AC_MSG_RESULT([no])
+fi
+dnl }}}
+
+dnl {{{ built sources
+GENERATED_FILE=misc/generated-file.txt
+AC_SUBST_FILE(GENERATED_FILE)
+
+BUILDUSER=`whoami`
+AC_SUBST([BUILDUSER])
+BUILDHOST=`hostname`
+AC_SUBST([BUILDHOST])
+BUILDDATE=`date +%Y-%m-%dT%H:%M:%S%z`
+AC_SUBST([BUILDDATE])
+if test -d "${ac_top_srcdir:-./}/.svn" ; then
+ SVNVERSION=`svnversion "${ac_top_srcdir:-./}"`
+else
+ SVNVERSION=
+fi
+AC_SUBST([SVNVERSION])
+dnl }}}
+
+dnl {{{ output
+AM_CONFIG_HEADER(config.h)
+AC_OUTPUT(
+ Makefile
+ cran/Makefile
+ doc/Makefile
+ doc/doxygen.conf
+ ebuild/Makefile
+ ebuild/digests/Makefile
+ ebuild/fetchers/Makefile
+ ebuild/utils/Makefile
+ ebuild/echo_functions.bash
+ eselect/Makefile
+ hooks/Makefile
+ misc/Makefile
+ misc/svn-version-filter-data.bash
+ paludis/Makefile
+ paludis/about.hh
+ paludis/args/Makefile
+ paludis/digests/Makefile
+ paludis/environment/Makefile
+ paludis/environment/default/Makefile
+ paludis/environment/no_config/Makefile
+ paludis/environment/test/Makefile
+ paludis/hashed_containers.hh
+ paludis/libxml/Makefile
+ paludis/qa/Makefile
+ paludis/repositories/Makefile
+ paludis/repositories/cran/Makefile
+ paludis/repositories/fake/Makefile
+ paludis/repositories/nothing/Makefile
+ paludis/repositories/portage/Makefile
+ paludis/repositories/vdb/Makefile
+ paludis/repositories/virtuals/Makefile
+ paludis/selinux/Makefile
+ paludis/tasks/Makefile
+ paludis/util/Makefile
+ paludis/util/attributes.hh
+ ruby/Makefile
+ ruby/demos/Makefile
+ src/Makefile
+ src/paludis/Makefile
+ src/gtkpaludis/Makefile
+ src/gtkpaludis/vtemm/Makefile
+ src/gtkpaludis/vtemm/converts/Makefile
+ src/gtkpaludis/vtemm/defs/Makefile
+ src/qualudis/Makefile
+ src/adjutrix/Makefile
+ test/Makefile
+ )
+dnl }}}
+