Blame configure.ac

Packit db3073
AC_PREREQ([2.62])
Packit db3073
AC_INIT([pkg-config],
Packit db3073
        [0.28],
Packit db3073
        [https://bugs.freedesktop.org/enter_bug.cgi?product=pkg-config],
Packit db3073
        [pkg-config])
Packit db3073
Packit db3073
AC_CONFIG_HEADERS([config.h])
Packit db3073
AC_CONFIG_SRCDIR([main.c])
Packit db3073
Packit db3073
dnl Initialize automake and libtool
Packit db3073
AM_INIT_AUTOMAKE([1.11])
Packit db3073
LT_PREREQ([2.2])
Packit db3073
LT_INIT
Packit db3073
Packit db3073
dnl Support silent build rules, requires at least automake-1.11. Disable
Packit db3073
dnl by either passing --disable-silent-rules to configure or passing V=1
Packit db3073
dnl to make
Packit db3073
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
Packit db3073
Packit db3073
dnl Check for programs
Packit db3073
AC_PROG_CC
Packit db3073
AC_CHECK_PROG([LN], [ln], [ln], [cp -Rp])
Packit db3073
Packit db3073
dnl Check for headers
Packit db3073
AC_CHECK_HEADERS([dirent.h unistd.h sys/wait.h malloc.h])
Packit db3073
Packit db3073
dnl A POSIX shell is required for the tests. If TEST_SHELL hasn't been
Packit db3073
dnl set on the command line then we try to find bash or ksh or sh from
Packit db3073
dnl the path. If none of those are available, we just use whatever
Packit db3073
dnl autoconf detected for configure.
Packit db3073
AC_ARG_VAR([TESTS_SHELL], [Path to a POSIX shell to be used for testing])
Packit db3073
conf_path="$PATH:`getconf PATH 2>/dev/null`"
Packit db3073
AC_PATH_PROGS([TESTS_SHELL], [bash ksh sh], [$CONFIG_SHELL], [$conf_path])
Packit db3073
Packit db3073
dnl
Packit db3073
dnl Default pkg-config search path
Packit db3073
dnl
Packit db3073
AC_MSG_CHECKING([for default search path for .pc files])
Packit db3073
AC_ARG_WITH([pc_path],
Packit db3073
  [AS_HELP_STRING([--with-pc-path],
Packit db3073
    [default search path for .pc files])],
Packit db3073
  [pc_path="$withval"],
Packit db3073
  [
Packit db3073
# This is slightly wrong, but hopefully causes less confusion than
Packit db3073
# people being unable to find their .pc files in the standard location.
Packit db3073
if test "${prefix}" = "NONE"; then
Packit db3073
	pc_path='${libdir}/pkgconfig:${datadir}/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig'
Packit db3073
else
Packit db3073
	pc_path='${libdir}/pkgconfig:${datadir}/pkgconfig'
Packit db3073
fi
Packit db3073
])
Packit db3073
AC_MSG_RESULT([$pc_path])
Packit db3073
AC_SUBST([pc_path])
Packit db3073
Packit db3073
dnl
Packit db3073
dnl System default -I paths
Packit db3073
dnl
Packit db3073
AC_MSG_CHECKING([for system include path to avoid -I flags])
Packit db3073
AC_ARG_WITH([system_include_path],
Packit db3073
  [AS_HELP_STRING([--with-system-include-path],
Packit db3073
    [avoid -I flags from the given path])],
Packit db3073
  [system_include_path="$withval"],
Packit db3073
  [system_include_path="/usr/include"])
Packit db3073
AC_MSG_RESULT([$system_include_path])
Packit db3073
AC_SUBST([system_include_path])
Packit db3073
Packit db3073
dnl
Packit db3073
dnl System default -L paths
Packit db3073
dnl
Packit db3073
AC_MSG_CHECKING([for system library path to avoid -L flags])
Packit db3073
AC_ARG_WITH([system_library_path],
Packit db3073
  [AS_HELP_STRING([--with-system-library-path],
Packit db3073
    [avoid -L flags from the given path])],
Packit db3073
  [system_library_path="$withval"],
Packit db3073
  [
Packit db3073
pc_lib_sfx=`echo "$libdir" | sed 's:.*/lib::'`
Packit db3073
case "$pc_lib_sfx" in
Packit db3073
*/*|"")
Packit db3073
  system_library_path="/usr/lib:/lib"
Packit db3073
  ;;
Packit db3073
*)
Packit db3073
  system_library_path="/usr/lib$pc_lib_sfx:/lib$pc_lib_sfx:/usr/lib:/lib"
Packit db3073
  ;;
Packit db3073
esac
Packit db3073
])
Packit db3073
AC_MSG_RESULT([$system_library_path])
Packit db3073
AC_SUBST([system_library_path])
Packit db3073
Packit db3073
dnl Code taken from gtk+-2.0's configure.in.
Packit db3073
dnl
Packit db3073
dnl This causes pkg-config to not list private dependencies (a very
Packit db3073
dnl common example is libm) on platforms which support inter-library
Packit db3073
dnl dependencies.
Packit db3073
dnl
Packit db3073
dnl When using libtool 2.x, we need to force libtool to be created
Packit db3073
dnl early so we can use it here.
Packit db3073
m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
Packit db3073
Packit db3073
AC_ARG_ENABLE([indirect-deps],
Packit db3073
    [AS_HELP_STRING([--enable-indirect-deps],
Packit db3073
                    [list both direct and indirect dependencies.])
Packit db3073
     AS_HELP_STRING([--disable-indirect-deps],
Packit db3073
                    [only list direct dependencies.])
Packit db3073
    [default=auto]],
Packit db3073
    [use_indirect_deps=$enableval],
Packit db3073
    [use_indirect_deps=auto])
Packit db3073
echo use_indirect_deps=$use_indirect_deps >&AS_MESSAGE_LOG_FD
Packit db3073
AC_MSG_CHECKING([whether to list both direct and indirect dependencies])
Packit db3073
case $use_indirect_deps in
Packit db3073
  auto)
Packit db3073
    deplibs_check_method=`(./libtool --config; echo eval echo '\"$deplibs_check_method\"') | sh`
Packit db3073
    if test "X$deplibs_check_method" = Xnone; then
Packit db3073
    echo "foo: $deplibs_check_method" >&AS_MESSAGE_LOG_FD
Packit db3073
      use_indirect_deps=yes
Packit db3073
    else
Packit db3073
      use_indirect_deps=no
Packit db3073
    fi
Packit db3073
  ;;
Packit db3073
  yes|no)
Packit db3073
  ;;
Packit db3073
  *) AC_MSG_ERROR([Value given to --enable-indirect-deps must be one of yes, no
Packit db3073
or auto])
Packit db3073
  ;;
Packit db3073
esac
Packit db3073
AC_MSG_RESULT($use_indirect_deps)
Packit db3073
AC_DEFINE_UNQUOTED([ENABLE_INDIRECT_DEPS],
Packit db3073
    [`test $use_indirect_deps = yes && echo TRUE || echo FALSE`],
Packit db3073
    [Link library to all dependent libraries, not only directly needed ones])
Packit db3073
AC_SUBST([use_indirect_deps])
Packit db3073
Packit db3073
dnl
Packit db3073
dnl Choose default CFLAGS and warnings depending on compiler.
Packit db3073
dnl
Packit db3073
WARN_CFLAGS=""
Packit db3073
if test "${GCC}" = "yes" && test "${ac_env_CFLAGS_set}" != "set"; then
Packit db3073
   WARN_CFLAGS="-g -Wall -O2"
Packit db3073
fi
Packit db3073
AC_SUBST(WARN_CFLAGS)
Packit db3073
Packit db3073
AC_MSG_CHECKING([for Win32])
Packit db3073
case "$build" in
Packit db3073
  *-*-mingw*)
Packit db3073
    native_win32=yes
Packit db3073
  ;;
Packit db3073
  *)
Packit db3073
    native_win32=no
Packit db3073
  ;;
Packit db3073
esac
Packit db3073
AC_MSG_RESULT([$native_win32])
Packit db3073
AM_CONDITIONAL(NATIVE_WIN32, [test "x$native_win32" = xyes])
Packit db3073
Packit db3073
dnl
Packit db3073
dnl Find glib or use internal copy. Required version is 2.16 for
Packit db3073
dnl g_win32_get_package_installation_directory_of_module().
Packit db3073
dnl
Packit db3073
dnl Pull in pkg-config macros to find external glib.
Packit db3073
dnl
Packit db3073
m4_include([pkg.m4])
Packit db3073
m4_define([glib_module], [glib-2.0 >= 2.16])
Packit db3073
AC_ARG_WITH([internal-glib],
Packit db3073
  [AS_HELP_STRING([--with-internal-glib], [use internal glib])],
Packit db3073
  [with_internal_glib="$withval"],
Packit db3073
  [with_internal_glib=no])
Packit db3073
AM_CONDITIONAL([INTERNAL_GLIB], [test "x$with_internal_glib" = xyes])
Packit db3073
AC_MSG_CHECKING([if internal glib should be used])
Packit db3073
if test "x$with_internal_glib" = xyes; then
Packit db3073
  AC_MSG_RESULT([yes])
Packit db3073
  GLIB_CFLAGS='-I$(top_srcdir)/glib -I$(top_srcdir)/glib/glib \
Packit db3073
    -I$(top_builddir)/glib/glib'
Packit db3073
  GLIB_LIBS='$(top_builddir)/glib/glib/libglib-2.0.la'
Packit db3073
  AC_CONFIG_SUBDIRS([glib])
Packit db3073
else
Packit db3073
  AC_MSG_RESULT([no])
Packit db3073
  PKG_CHECK_MODULES([GLIB], glib_module, [], [AC_MSG_ERROR([]dnl
Packit db3073
[m4_normalize([Either a previously installed pkg-config or "]glib_module["
Packit db3073
              could not be found. Please set GLIB_CFLAGS and GLIB_LIBS to
Packit db3073
              the correct values or pass --with-internal-glib to configure
Packit db3073
              to use the bundled copy.])])])
Packit db3073
fi
Packit db3073
AC_SUBST(GLIB_LIBS)
Packit db3073
AC_SUBST(GLIB_CFLAGS)
Packit db3073
Packit db3073
dnl
Packit db3073
dnl Optional gcov test coverage usage
Packit db3073
dnl
Packit db3073
AC_ARG_WITH([gcov],
Packit db3073
  [AS_HELP_STRING([--with-gcov], [gcov test coverage @<:@default=no@:>@])],
Packit db3073
  [],
Packit db3073
  [with_gcov=no])
Packit db3073
if test "x$with_gcov" = xyes; then
Packit db3073
  if test "$GCC" = no; then
Packit db3073
    AC_MSG_ERROR([gcov test coverage can only be used with GCC])
Packit db3073
  fi
Packit db3073
Packit db3073
  AC_PATH_PROG([GCOV], [gcov], [AC_MSG_ERROR([could not find gcov program])])
Packit db3073
  GCOV_CFLAGS="-fprofile-arcs -ftest-coverage"
Packit db3073
Packit db3073
  # Ensure there's no optimizing since last -O wins and CFLAGS is used
Packit db3073
  # at the end of COMPILE/LTCOMPILE.
Packit db3073
  CFLAGS="${CFLAGS+$CFLAGS }-O0"
Packit db3073
fi
Packit db3073
AC_SUBST([GCOV_CFLAGS])
Packit db3073
Packit db3073
dnl See if the user wants a host- prefixed tool
Packit db3073
dnl (e.g. i686-pc-linux-gnu-pkg-config) to be installed.
Packit db3073
dnl
Packit db3073
AC_MSG_CHECKING([if host- prefixed tool should be installed])
Packit db3073
AC_ARG_ENABLE([host-tool],
Packit db3073
  [AS_HELP_STRING([--disable-host-tool],
Packit db3073
    [install link to pkg-config with $host- prefix @<:@default=yes@:>@])],
Packit db3073
  [],
Packit db3073
  [enable_host_tool=yes])
Packit db3073
AC_MSG_RESULT([$enable_host_tool])
Packit db3073
AM_CONDITIONAL([HOST_TOOL], [test "x$enable_host_tool" = xyes])
Packit db3073
Packit db3073
AC_CONFIG_FILES([
Packit db3073
Makefile
Packit db3073
check/Makefile
Packit db3073
check/config.sh
Packit db3073
])
Packit db3073
AC_OUTPUT