Blame configure.ac

Packit 130fc8
-*- mode: m4 -*-
Packit 130fc8
AC_PREREQ(2.59c)
Packit 130fc8
Packit 130fc8
dnl The dbus-python version number
Packit 130fc8
m4_define(dbus_python_major_version, 1)
Packit 130fc8
m4_define(dbus_python_minor_version, 2)
Packit 130fc8
dnl Micro version is odd for non-releases
Packit 130fc8
m4_define(dbus_python_micro_version, 4)
Packit 130fc8
Packit 130fc8
AC_INIT([dbus-python],
Packit 130fc8
  dbus_python_major_version.dbus_python_minor_version.dbus_python_micro_version,
Packit 130fc8
  [http://bugs.freedesktop.org/enter_bug.cgi?product=dbus&component=python])
Packit 130fc8
AC_CONFIG_MACRO_DIR([m4])
Packit 130fc8
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
Packit 130fc8
AC_CONFIG_AUX_DIR([build-aux])
Packit 130fc8
Packit 130fc8
m4_pattern_forbid([^AX_],
Packit 130fc8
  [Unexpanded AX_ macro found. Please install GNU autoconf-archive])
Packit 130fc8
Packit 130fc8
# By default, rebuild autotools files on demand; only use ./missing if the
Packit 130fc8
# user says --disable-maintainer-mode (in particular this is useful when
Packit 130fc8
# running under pip, which does not preserve timestamps)
Packit 130fc8
AM_MAINTAINER_MODE([enable])
Packit 130fc8
Packit 130fc8
AX_IS_RELEASE([micro-version])
Packit 130fc8
AC_DEFINE(DBUS_PYTHON_MAJOR_VERSION, dbus_python_major_version, [dbus-python major version])
Packit 130fc8
AC_SUBST(DBUS_PYTHON_MAJOR_VERSION, dbus_python_major_version)
Packit 130fc8
AC_DEFINE(DBUS_PYTHON_MINOR_VERSION, dbus_python_minor_version, [dbus-python minor version])
Packit 130fc8
AC_SUBST(DBUS_PYTHON_MINOR_VERSION, dbus_python_minor_version)
Packit 130fc8
AC_DEFINE(DBUS_PYTHON_MICRO_VERSION, dbus_python_micro_version, [dbus-python micro version])
Packit 130fc8
AC_SUBST(DBUS_PYTHON_MICRO_VERSION, dbus_python_micro_version)
Packit 130fc8
Packit 130fc8
AC_CONFIG_SRCDIR([_dbus_bindings/module.c])
Packit 130fc8
AC_CONFIG_HEADERS(config.h)
Packit 130fc8
Packit 130fc8
AM_INIT_AUTOMAKE([1.13 -Wno-portability subdir-objects tar-ustar])
Packit 130fc8
Packit 130fc8
AC_CANONICAL_BUILD
Packit 130fc8
AC_CANONICAL_HOST
Packit 130fc8
Packit 130fc8
# mingw32, mingw-w64 are native Windows; for our purposes, Cygwin isn't
Packit 130fc8
AC_MSG_CHECKING([for native Windows host])
Packit 130fc8
AS_CASE(["$host"],
Packit 130fc8
  [*-*-mingw*],
Packit 130fc8
    [windows=yes],
Packit 130fc8
  [*],
Packit 130fc8
    [windows=no])
Packit 130fc8
AC_MSG_RESULT([$windows])
Packit 130fc8
AM_CONDITIONAL([WINDOWS], [test "x$windows" = xyes])
Packit 130fc8
Packit 130fc8
AC_DISABLE_STATIC
Packit 130fc8
Packit 130fc8
dnl XXXX hack to kill off all the libtool tags ...
Packit 130fc8
dnl it isn't like we are using C++ or Fortran.
Packit 130fc8
dnl (copied from libglade/configure.in)
Packit 130fc8
m4_define([_LT_AC_TAGCONFIG],[])
Packit 130fc8
Packit 130fc8
AC_PROG_LIBTOOL
Packit 130fc8
AM_PROG_CC_C_O
Packit 130fc8
AC_C_INLINE
Packit 130fc8
AC_PROG_MKDIR_P
Packit 130fc8
Packit 130fc8
AM_PATH_PYTHON([2.6])
Packit 130fc8
Packit 130fc8
AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
Packit 130fc8
Packit 130fc8
# This command exits 0 (success) if sys.version >= "3", or 1 (failure)
Packit 130fc8
# if sys.version < "3" (i.e. starts with "2").
Packit 130fc8
AM_CONDITIONAL([HAVE_PYTHON_3],
Packit 130fc8
  [$PYTHON -c "import sys; sys.exit(sys.version < '3')"])
Packit 130fc8
Packit 130fc8
PLATFORM=`$PYTHON -c "from __future__ import print_function; from distutils import util; print(util.get_platform())"`
Packit 130fc8
AC_SUBST(PLATFORM)
Packit 130fc8
Packit 130fc8
AC_ARG_VAR([PYTHON_LIBS],
Packit 130fc8
  [LDFLAGS for Python, overriding output of python2.x-config --ldflags, e.g. "-L/opt/misc/lib -lpython2.7"])
Packit 130fc8
AS_IF([test "${PYTHON_LIBS+set}" = set],
Packit 130fc8
  [AC_MSG_NOTICE([PYTHON_LIBS overridden to: $PYTHON_LIBS])],
Packit 130fc8
  dnl else
Packit 130fc8
  [
Packit 130fc8
  AC_MSG_CHECKING([for Python library linker flags using ${PYTHON_CONFIG}])
Packit 130fc8
  PYTHON_LIBS="$($PYTHON_CONFIG --ldflags)"
Packit 130fc8
  AC_MSG_RESULT([$PYTHON_LIBS])
Packit 130fc8
  ])
Packit 130fc8
Packit 130fc8
AC_SUBST([PYTHON_LIBS])
Packit 130fc8
Packit 130fc8
AC_ARG_ENABLE([installed-tests],
Packit 130fc8
  [AC_HELP_STRING([--enable-installed tests],
Packit 130fc8
    [install test programs and helpers for as-installed testing])],
Packit 130fc8
  [],
Packit 130fc8
  [enable_installed_tests=no])
Packit 130fc8
AM_CONDITIONAL([ENABLE_INSTALLED_TESTS], [test "_$enable_installed_tests" = _yes])
Packit 130fc8
Packit 130fc8
dnl Building documentation
Packit 130fc8
Packit 130fc8
AX_GENERATE_CHANGELOG
Packit 130fc8
Packit 130fc8
AC_MSG_CHECKING([whether you want to build HTML docs])
Packit 130fc8
AC_ARG_ENABLE(html-docs,
Packit 130fc8
AC_HELP_STRING([--enable-html-docs], [Enable HTML documentation building (requires docutils, default: auto-detect)]), enable_html_docs=$enableval, enable_html_docs="if possible")
Packit 130fc8
AC_MSG_RESULT([$enable_html_docs])
Packit 130fc8
Packit 130fc8
AC_MSG_CHECKING([whether you want to build API docs])
Packit 130fc8
AC_ARG_ENABLE(api-docs,
Packit 130fc8
AC_HELP_STRING([--enable-api-docs], [Enable API documentation building (requires epydoc 3 and docutils)]), enable_api_docs=$enableval, enable_api_docs="if possible")
Packit 130fc8
AC_MSG_RESULT([$enable_api_docs])
Packit 130fc8
Packit 130fc8
Packit 130fc8
AS_IF([test "$enable_api_docs" != no || test "$enable_html_docs" != no],
Packit 130fc8
  [
Packit 130fc8
  AX_PYTHON_MODULE([docutils])
Packit 130fc8
  AS_IF([test "$HAVE_PYMOD_DOCUTILS" = no],
Packit 130fc8
    [
Packit 130fc8
    AS_IF([test "$enable_api_docs" = "if possible"], [enable_api_docs=no])
Packit 130fc8
    AS_IF([test "$enable_html_docs" = "if possible"], [enable_html_docs=no])
Packit 130fc8
    AS_IF([test "$enable_api_docs" != no || test "$enable_html_docs" != no],
Packit 130fc8
      [AC_MSG_ERROR([cannot compile HTML documentation or API documentation without python-docutils installed])])
Packit 130fc8
    ])
Packit 130fc8
  ])
Packit 130fc8
Packit 130fc8
AS_IF([test "${enable_api_docs}" != no],
Packit 130fc8
  [
Packit 130fc8
  AC_PATH_PROG([EPYDOC], [epydoc])
Packit 130fc8
  AX_PYTHON_MODULE([epydoc])
Packit 130fc8
  AC_MSG_CHECKING([epydoc 3])
Packit 130fc8
  AS_IF([test -n "$EPYDOC" && test "$HAVE_PYMOD_EPYDOC" = yes],
Packit 130fc8
    [
Packit 130fc8
    EPYDOC_VERSION=`$EPYDOC --version`
Packit 130fc8
    AS_CASE(["$EPYDOC_VERSION"],
Packit 130fc8
      [*ersion?3*],
Packit 130fc8
        [
Packit 130fc8
        AC_MSG_RESULT([yes, $EPYDOC_VERSION])
Packit 130fc8
        ],
Packit 130fc8
      [*],
Packit 130fc8
        [
Packit 130fc8
        AC_MSG_RESULT([no, $EPYDOC_VERSION])
Packit 130fc8
        EPYDOC=
Packit 130fc8
        ])
Packit 130fc8
    ],
Packit 130fc8
    [
Packit 130fc8
    EPYDOC=
Packit 130fc8
    ])
Packit 130fc8
  AS_IF([test -z "$EPYDOC"],
Packit 130fc8
    [
Packit 130fc8
    AS_CASE(["$enable_api_docs"],
Packit 130fc8
      [if*possible],
Packit 130fc8
        [enable_api_docs=no],
Packit 130fc8
      [*],
Packit 130fc8
        [AC_MSG_ERROR([cannot compile API documentation without epydoc 3.0beta1 or newer installed])])
Packit 130fc8
    ])
Packit 130fc8
  ])
Packit 130fc8
Packit 130fc8
AC_ARG_VAR([DBUS_RUN_SESSION],
Packit 130fc8
  [The dbus-run-session tool from dbus 1.8 or later])
Packit 130fc8
AC_PATH_PROG([DBUS_RUN_SESSION], [dbus-run-session], [false])
Packit 130fc8
AM_CONDITIONAL([HAVE_DBUS_RUN_SESSION], [test "$DBUS_RUN_SESSION" != false])
Packit 130fc8
Packit 130fc8
RST2HTMLFLAGS=
Packit 130fc8
AS_IF([test "${enable_html_docs}" != no],
Packit 130fc8
  [
Packit 130fc8
  AC_CHECK_PROGS([RST2HTML], [rst2html rst2html.py], [])
Packit 130fc8
  AS_IF([test -z "$RST2HTML"],
Packit 130fc8
    [
Packit 130fc8
    AS_CASE(["$enable_html_docs"],
Packit 130fc8
      [if*possible],
Packit 130fc8
        [enable_html_docs=no],
Packit 130fc8
      [*],
Packit 130fc8
        [AC_MSG_ERROR([cannot compile HTML documentation without rst2html installed])])
Packit 130fc8
    ])
Packit 130fc8
  ],
Packit 130fc8
  [
Packit 130fc8
    DBUS_PY_ADD_RST2HTMLFLAG([--generator])
Packit 130fc8
    DBUS_PY_ADD_RST2HTMLFLAG([--date])
Packit 130fc8
    DBUS_PY_ADD_RST2HTMLFLAG([--time])
Packit 130fc8
    DBUS_PY_ADD_RST2HTMLFLAG([--exit-status=2])
Packit 130fc8
    DBUS_PY_ADD_RST2HTMLFLAG([--no-raw])
Packit 130fc8
    DBUS_PY_ADD_RST2HTMLFLAG([--no-file-insertion])
Packit 130fc8
    DBUS_PY_ADD_RST2HTMLFLAG([--cloak-email-addresses])
Packit 130fc8
    DBUS_PY_ADD_RST2HTMLFLAG([--input-encoding=UTF-8])
Packit 130fc8
  ])
Packit 130fc8
AC_SUBST([RST2HTML])
Packit 130fc8
AC_SUBST([RST2HTMLFLAGS])
Packit 130fc8
Packit 130fc8
AM_CONDITIONAL([ENABLE_API_DOCS], [test "$enable_api_docs" != no])
Packit 130fc8
AM_CONDITIONAL([ENABLE_DOCS], [test "$enable_html_docs" != no])
Packit 130fc8
Packit 130fc8
PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.6])
Packit 130fc8
PKG_CHECK_MODULES(DBUS_GLIB, [dbus-glib-1 >= 0.70])
Packit 130fc8
Packit 130fc8
AX_COMPILER_FLAGS([WARN_CFLAGS],
Packit 130fc8
  [WARN_LDFLAGS], [],
Packit 130fc8
  dnl unfortunately the Python headers fail various checks included in
Packit 130fc8
  dnl AX_COMPILER_FLAGS, and are not const-correct for strings
Packit 130fc8
  [ \
Packit 130fc8
   -Wdeprecated-declarations \
Packit 130fc8
   -Wno-redundant-decls \
Packit 130fc8
   -Wno-switch-default \
Packit 130fc8
   -Wno-write-strings \
Packit 130fc8
   -std=c9x \
Packit 130fc8
  ])
Packit 130fc8
dnl AX_COMPILER_FLAGS doesn't order the compiler flags correctly to be able
Packit 130fc8
dnl to disable flags that it would normally enable
Packit 130fc8
WARN_CFLAGS="$(echo "${WARN_CFLAGS}" | ${SED} \
Packit 130fc8
  -e s/-Wredundant-decls// \
Packit 130fc8
  -e s/-Wswitch-default// \
Packit 130fc8
  -e s/-Wwrite-strings// \
Packit 130fc8
  )"
Packit 130fc8
Packit 130fc8
AC_ARG_ENABLE([coding-style-checks],
Packit 130fc8
  [AC_HELP_STRING([--enable-coding-style-checks],
Packit 130fc8
                 [check coding style using grep])],
Packit 130fc8
  [ENABLE_CODING_STYLE_CHECKS=$enableval],
Packit 130fc8
  [ENABLE_CODING_STYLE_CHECKS=$ax_is_release])
Packit 130fc8
Packit 130fc8
AC_CONFIG_FILES([
Packit 130fc8
  Makefile
Packit 130fc8
  dbus-python.pc
Packit 130fc8
])
Packit 130fc8
AC_OUTPUT