libcgroup/configure.in

222 lines
5.7 KiB
Plaintext
Raw Normal View History

2022-06-18 14:07:38 +08:00
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
#
# Copyright International Business Machines Corp. 2008
#
# Authors: Balbir Singh <balbir@linux.vnet.ibm.com>
# This program is free software; you can redistribute it and/or modify it
# under the terms of version 2.1 of the GNU Lesser General Public License
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it would be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
AC_PREREQ(2.61)
# In following section update all occurences of version, including soname
AC_INIT([libcgroup], 0.41)
AM_INIT_AUTOMAKE([foreign dist-bzip2])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
# set library version, soname is libcgroup.so.MAJOR
AC_SUBST(LIBRARY_VERSION_MAJOR, 1)
AC_SUBST(LIBRARY_VERSION_MINOR, 0)
AC_SUBST(LIBRARY_VERSION_RELEASE, 41)
# we do not want static libraries
AC_DISABLE_STATIC
AC_CONFIG_SRCDIR([src])
AC_CONFIG_HEADER([config.h])
AC_ARG_ENABLE([bindings],
[AC_HELP_STRING([--enable-bindings],
[enable python bindings [default=no]])],
[
if test "x$enableval" = xno; then
with_bindings=false
else
with_bindings=true
fi
],
[with_bindings = false])
AM_CONDITIONAL([WITH_BINDINGS], [test x$with_bindings = xtrue])
# Process command line options
AC_ARG_ENABLE([tools],
[AC_HELP_STRING([--enable-tools],
[compile libcgroup tools [default=yes]])],
[
if test "x$enableval" = xno; then
with_tools=false
else
with_tools=true
fi
],
[with_tools=true])
AM_CONDITIONAL([WITH_TOOLS], [test x$with_tools = xtrue])
AC_ARG_ENABLE([pam],
[AC_HELP_STRING([--enable-pam],
[compile libcgroup PAM module [default=yes]])],
[
if test "x$enableval" = xno; then
with_pam=false
else
with_pam=true
fi
],
[with_pam=true])
AM_CONDITIONAL([WITH_PAM], [test x$with_pam = xtrue])
AC_ARG_ENABLE([daemon],
[AC_HELP_STRING([--enable-daemon],
[compile libcgroup daemon [default=yes]])],
[
if test "x$enableval" = xno; then
with_daemon=false
else
with_daemon=true
fi
],
[with_daemon=true])
AM_CONDITIONAL([WITH_DAEMON], [test x$with_daemon = xtrue])
AC_ARG_ENABLE([initscript-install],
[AC_HELP_STRING([--enable-initscript-install],
[install init scripts [default=no]])],
[
if test "x$enableval" = xno; then
with_initscript_install=false
else
with_initscript_install=true
fi
],
[with_initscript_install=false])
AM_CONDITIONAL([WITH_INITSCRIPT_INSTALL], [test x$with_initscript_install = xtrue])
socket_path="/var/run/cgred.socket"
AC_ARG_ENABLE([cgred-socket],
[AC_HELP_STRING([--enable-cgred-socket=PATH],
specify location of cgrulesengd communication socket
(default=/var/run/cgred.socket))],
[
if test "x$enableval" = xno -o "x$enableval" = xyes; then
AC_MSG_ERROR([Provide valid path with --enable-cgred-socket option.])
else
socket_path="$enableval"
fi
], [])
AC_DEFINE_UNQUOTED([CGRULE_CGRED_SOCKET_PATH],"$socket_path", [Cgrulesengd socket path])
pam_module_dir="$libdir/security"
AC_ARG_ENABLE([pam-module-dir],
[AC_HELP_STRING([--enable-pam-module-dir=PATH],
specify location of libcgroup PAM module
(default=$libdir/security))],
[
if test "x$enableval" = xno -o "x$enableval" = xyes; then
AC_MSG_ERROR([Provide valid path with --enable-pam-module-dir option.])
else
pam_module_dir="$enableval"
fi
], [])
AC_SUBST([pamlibdir],"$pam_module_dir")
AC_ARG_ENABLE([opaque-hierarchy],
[AC_HELP_STRING([--enable-opaque-hierarchy=NAME],
[specify name of a hierarchy which libcgroup should ignore, e.g. name=systemd]
(default=none))],
[
if test "x$enableval" = xno -o "x$enableval" = xyes; then
AC_MSG_ERROR([Provide name of a hierarchy.])
else
AC_DEFINE_UNQUOTED([OPAQUE_HIERARCHY], "$enableval",
[Define to ignore specific hierarchy.])
fi
], [])
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
AC_PROG_YACC
if test "$YACC" = yacc; then
AC_CHECK_PROG([REALLY_YACC], [yacc], [yacc])
if test "$REALLY_YACC" = ""; then
AC_MSG_ERROR([This program cannot be built unless a version of yacc is installed.])
fi
fi
AM_PROG_LEX
if test "$LEX" != flex; then
AC_MSG_ERROR([This program cannot be built unless flex is installed.])
fi
AC_PROG_LIBTOOL
# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS([limits.h mntent.h stdlib.h string.h sys/mount.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_CONST
AC_TYPE_UID_T
AC_C_INLINE
AC_TYPE_INT64_T
AC_TYPE_PID_T
# Checks for library functions.
AC_FUNC_CHOWN
AC_FUNC_GETMNTENT
AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_FUNC_STAT
AC_CHECK_FUNCS([getmntent hasmntopt memset mkdir rmdir strdup])
if test x$with_pam = xtrue; then
AC_CHECK_LIB(
[pam],
[pam_syslog],
[
dnl Override the default behavior of AC_CHECK_LIB,
dnl we don't want -lpam in LIBS.
:
],
[AC_MSG_ERROR([Cannot compile PAM module without libpam!])])
AC_CHECK_HEADERS(
[security/pam_modules.h security/pam_modutil.h security/pam_ext.h],
[],
[AC_MSG_ERROR([Cannot compile PAM module without necessary
header files!])])
fi
AC_CONFIG_FILES([Makefile
tests/Makefile
tests/tools/testenv.sh
tests/tools/Makefile
tests/tools/cgconfigparser/Makefile
tests/tools/cgclassify/Makefile
tests/tools/multimount/Makefile
tests/runlibcgrouptest.sh
src/Makefile
src/daemon/Makefile
src/tools/Makefile
src/pam/Makefile
src/bindings/Makefile
scripts/Makefile
scripts/init.d/cgconfig
scripts/init.d/cgred
samples/Makefile
include/Makefile
doc/Makefile
doc/man/Makefile
dist/Makefile
libcgroup.pc])
AC_CONFIG_FILES([dist/libcgroup.spec:dist/libcgroup.spec.in])
CFLAGS="$CFLAGS -Wall"
AC_OUTPUT