mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
331 lines
9.0 KiB
Plaintext
331 lines
9.0 KiB
Plaintext
##
|
|
## Copyright 1999-2000 Sistina Software, Inc.
|
|
##
|
|
## This is free software released under the GNU General Public License.
|
|
## There is no warranty for this software. See the file COPYING for
|
|
## details.
|
|
##
|
|
## See the file CONTRIBUTORS for a list of contributors.
|
|
##
|
|
## This file is maintained by:
|
|
## AJ Lewis <lewis@sistina.com>
|
|
##
|
|
## File name: configure.in
|
|
##
|
|
## Description: Input file for autoconf. Generates the configure script
|
|
## that tries to keep everything nice and portable. It also
|
|
## simplifies distribution package building considerably.
|
|
################################################################################
|
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
AC_INIT(lib/device/dev-cache.h)
|
|
|
|
dnl setup the directory where autoconf has auxilary files
|
|
AC_CONFIG_AUX_DIR(autoconf)
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_AWK
|
|
AC_PROG_CC
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LN_S
|
|
AC_PROG_MAKE_SET
|
|
AC_PROG_RANLIB
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_DIRENT
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS(fcntl.h malloc.h sys/ioctl.h unistd.h)
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_TYPE_OFF_T
|
|
AC_TYPE_PID_T
|
|
AC_TYPE_SIZE_T
|
|
AC_STRUCT_ST_RDEV
|
|
AC_HEADER_TIME
|
|
|
|
dnl Get system type
|
|
AC_CANONICAL_SYSTEM
|
|
|
|
case "$host_os" in
|
|
linux*)
|
|
CFLAGS=
|
|
CLDFLAGS="-Wl,--version-script,.export.sym"
|
|
CLDWHOLEARCHIVE="-Wl,-whole-archive"
|
|
CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
|
|
LD_DEPS=".export.sym"
|
|
LD_FLAGS="-Wl,--export-dynamic"
|
|
SOFLAG="-shared"
|
|
DEVMAPPER=yes
|
|
ODIRECT=yes ;;
|
|
darwin*)
|
|
CFLAGS="-no-cpp-precomp -fno-common"
|
|
CLDFLAGS=
|
|
CLDWHOLEARCHIVE="-all_load"
|
|
CLDNOWHOLEARCHIVE=
|
|
LD_DEPS=
|
|
LD_FLAGS=
|
|
SOFLAG="-dynamiclib"
|
|
DEVMAPPER=no
|
|
ODIRECT=no ;;
|
|
esac
|
|
|
|
dnl -- prefix is /usr by default, the exec_prefix default is setup later
|
|
AC_PREFIX_DEFAULT(/usr)
|
|
|
|
dnl -- setup the ownership of the files
|
|
AC_ARG_WITH(user,
|
|
[ --with-user=USER Set the owner of installed files ],
|
|
[ OWNER="$withval" ],
|
|
[ OWNER="root" ])
|
|
|
|
dnl -- setup the group ownership of the files
|
|
AC_ARG_WITH(group,
|
|
[ --with-group=GROUP Set the group owner of installed files ],
|
|
[ GROUP="$withval" ],
|
|
[ GROUP="root" ])
|
|
|
|
dnl -- LVM1 tool fallback option
|
|
AC_ARG_ENABLE(lvm1_fallback, [ --enable-lvm1_fallback Use this to fall back and use LVM1 binaries if
|
|
device-mapper is missing from the kernel], LVM1_FALLBACK=$enableval, LVM1_FALLBACK=no)
|
|
|
|
if test x$LVM1_FALLBACK = xyes; then
|
|
CFLAGS="$CFLAGS -DLVM1_FALLBACK"
|
|
fi
|
|
|
|
dnl -- format1 inclusion type
|
|
AC_ARG_WITH(lvm1,
|
|
[ --with-lvm1=TYPE LVM1 metadata support: internal/shared/none
|
|
[TYPE=internal] ],
|
|
[ LVM1="$withval" ],
|
|
[ LVM1="internal" ])
|
|
|
|
if [[ "x$LVM1" != xnone -a "x$LVM1" != xinternal -a "x$LVM1" != xshared ]];
|
|
then AC_MSG_ERROR(
|
|
--with-lvm1 parameter invalid
|
|
)
|
|
exit
|
|
fi;
|
|
|
|
if test x$LVM1 = xinternal; then
|
|
CFLAGS="$CFLAGS -DLVM1_INTERNAL"
|
|
fi
|
|
|
|
AC_ARG_ENABLE(jobs, [ --enable-jobs=NUM Number of jobs to run simultaneously], JOBS=-j$enableval, JOBS=-j2)
|
|
|
|
dnl Enables staticly-linked tools
|
|
AC_ARG_ENABLE(static_link, [ --enable-static_link Use this to link the tools to their libraries
|
|
statically. Default is dynamic linking], STATIC_LINK=$enableval, STATIC_LINK=no)
|
|
|
|
dnl Enable readline
|
|
AC_ARG_ENABLE(readline, [ --enable-readline Enable readline support], \
|
|
READLINE=$enableval, READLINE=no)
|
|
|
|
if test x$READLINE = xyes; then
|
|
CFLAGS="$CFLAGS -DREADLINE_SUPPORT"
|
|
fi
|
|
|
|
echo $ac_n "checking whether to enable debugging""... $ac_c" 1>&6
|
|
dnl Enable Debugging
|
|
AC_ARG_ENABLE(debug, [ --enable-debug Enable debugging], \
|
|
DEBUG=yes, DEBUG=no)
|
|
echo "$ac_t""$DEBUG" 1>&6
|
|
|
|
echo $ac_n "checking whether to enable device-mapper""... $ac_c" 1>&6
|
|
dnl Disable devmapper
|
|
AC_ARG_ENABLE(devmapper, [ --disable-devmapper Disable device-mapper interaction], \
|
|
DEVMAPPER=no)
|
|
echo "$ac_t""$DEVMAPPER" 1>&6
|
|
|
|
if test x$DEVMAPPER = xyes; then
|
|
CFLAGS="$CFLAGS -DDEVMAPPER_SUPPORT"
|
|
fi
|
|
|
|
echo $ac_n "checking whether to enable O_DIRECT""... $ac_c" 1>&6
|
|
dnl Disable O_DIRECT
|
|
AC_ARG_ENABLE(o_direct, [ --disable-o_direct Disable O_DIRECT], \
|
|
ODIRECT=no)
|
|
echo "$ac_t""$ODIRECT" 1>&6
|
|
|
|
if test x$ODIRECT = xyes; then
|
|
CFLAGS="$CFLAGS -DO_DIRECT_SUPPORT"
|
|
fi
|
|
|
|
echo $ac_n "checking whether to compile liblvm2cmd.so""... $ac_c" 1>&6
|
|
dnl Enable cmdlib
|
|
AC_ARG_ENABLE(cmdlib, [ --enable-cmdlib Build shared command library], \
|
|
CMDLIB=yes, CMDLIB=no)
|
|
echo "$ac_t""$CMDLIB" 1>&6
|
|
|
|
if test x$CMDLIB = xyes; then
|
|
CFLAGS="$CFLAGS -DCMDLIB"
|
|
fi
|
|
|
|
dnl Mess with default exec_prefix
|
|
if [[ "x$exec_prefix" = xNONE -a "x$prefix" = xNONE ]];
|
|
then exec_prefix="";
|
|
fi;
|
|
|
|
dnl Checks for library functions.
|
|
AC_PROG_GCC_TRADITIONAL
|
|
AC_TYPE_SIGNAL
|
|
AC_FUNC_VPRINTF
|
|
AC_CHECK_FUNCS(mkdir rmdir uname)
|
|
|
|
dnl check for termcap (Shamelessly copied from parted 1.4.17)
|
|
if test x$READLINE = xyes; then
|
|
AC_SEARCH_LIBS(tgetent, ncurses curses termcap termlib, ,
|
|
AC_MSG_ERROR(
|
|
termcap could not be found which is required for the
|
|
--enable-readline option (which is enabled by default). Either disable readline
|
|
support with --disable-readline or download and install termcap from:
|
|
ftp.gnu.org/gnu/termcap
|
|
Note: if you are using precompiled packages you will also need the development
|
|
package as well (which may be called termcap-devel or something similar).
|
|
Note: (n)curses also seems to work as a substitute for termcap. This was
|
|
not found either - but you could try installing that as well.
|
|
)
|
|
exit
|
|
)
|
|
fi
|
|
|
|
dnl Check for dlopen
|
|
AC_CHECK_LIB(dl, dlopen, HAVE_LIBDL=yes, HAVE_LIBDL=no)
|
|
|
|
if [[ "x$HAVE_LIBDL" = xyes -a "xSTATIC_LINK" = xno ]]; then
|
|
CFLAGS="$CFLAGS -DHAVE_LIBDL"
|
|
LIBS="-ldl $LIBS"
|
|
else
|
|
HAVE_LIBDL=no
|
|
fi
|
|
|
|
dnl Check for shared/static conflicts
|
|
if [[ "x$LVM1" = xshared -a "x$STATIC_LINK" = xyes ]];
|
|
then AC_MSG_ERROR(
|
|
Features cannot be 'shared' when building statically
|
|
)
|
|
exit
|
|
fi
|
|
|
|
dnl Check for is_selinux_enabled
|
|
AC_CHECK_LIB(selinux, is_selinux_enabled, HAVE_SELINUX=yes, HAVE_SELINUX=no)
|
|
|
|
if test x$HAVE_SELINUX = xyes; then
|
|
CFLAGS="$CFLAGS -DHAVE_SELINUX"
|
|
LIBS="-lselinux $LIBS"
|
|
fi
|
|
|
|
dnl Check for getopt
|
|
AC_CHECK_HEADERS(getopt.h, CFLAGS="$CFLAGS -DHAVE_GETOPTLONG")
|
|
|
|
dnl Check for readline (Shamelessly copied from parted 1.4.17)
|
|
if test x$READLINE = xyes; then
|
|
AC_CHECK_LIB(readline, readline, ,
|
|
AC_MSG_ERROR(
|
|
GNU Readline could not be found which is required for the
|
|
--enable-readline option (which is enabled by default). Either disable readline
|
|
support with --disable-readline or download and install readline from:
|
|
ftp.gnu.org/gnu/readline
|
|
Note: if you are using precompiled packages you will also need the development
|
|
package as well (which may be called readline-devel or something similar).
|
|
)
|
|
exit
|
|
)
|
|
AC_CHECK_FUNC(rl_completion_matches, CFLAGS="$CFLAGS -DHAVE_RL_COMPLETION_MATCHES")
|
|
|
|
fi
|
|
|
|
echo $ac_n "checking whether to enable internationalisation""... $ac_c" 1>&6
|
|
dnl Internationalisation stuff
|
|
AC_ARG_ENABLE(nls, [ --enable-nls Enable Native Language Support],\
|
|
INTL=yes, INTL=no)
|
|
echo "$ac_t""$INTL" 1>&6
|
|
|
|
if test x$INTL = xyes; then
|
|
INTL_PACKAGE="lvm2"
|
|
AC_PATH_PROG(MSGFMT, msgfmt)
|
|
if [[ "x$MSGFMT" == x ]];
|
|
then AC_MSG_ERROR(
|
|
msgfmt not found in path $PATH
|
|
)
|
|
exit
|
|
fi;
|
|
|
|
AC_ARG_WITH(localedir,
|
|
[ --with-localedir=DIR Translation files in DIR [PREFIX/share/locale]],
|
|
[ LOCALEDIR="$withval" ],
|
|
[ LOCALEDIR='${prefix}/share/locale' ])
|
|
fi
|
|
|
|
AC_ARG_WITH(confdir,
|
|
[ --with-confdir=DIR Configuration files in DIR [/etc]],
|
|
[ CONFDIR="$withval" ],
|
|
[ CONFDIR='/etc' ])
|
|
|
|
AC_ARG_WITH(staticdir,
|
|
[ --with-staticdir=DIR Static binary in DIR [EXEC_PREFIX/sbin]],
|
|
[ STATICDIR="$withval" ],
|
|
[ STATICDIR='${exec_prefix}/sbin' ])
|
|
|
|
|
|
if test "-f VERSION"; then
|
|
LVM_VERSION="\"`cat VERSION`\""
|
|
else
|
|
LVM_VERSION="Unknown"
|
|
fi
|
|
|
|
AC_SUBST(JOBS)
|
|
AC_SUBST(STATIC_LINK)
|
|
AC_SUBST(LVM1)
|
|
AC_SUBST(OWNER)
|
|
AC_SUBST(GROUP)
|
|
AC_SUBST(CFLAGS)
|
|
AC_SUBST(CLDFLAGS)
|
|
AC_SUBST(CLDWHOLEARCHIVE)
|
|
AC_SUBST(CLDNOWHOLEARCHIVE)
|
|
AC_SUBST(LD_DEPS)
|
|
AC_SUBST(LD_FLAGS)
|
|
AC_SUBST(SOFLAG)
|
|
AC_SUBST(LIBS)
|
|
AC_SUBST(LVM_VERSION)
|
|
AC_SUBST(LVM1_FALLBACK)
|
|
AC_SUBST(DEBUG)
|
|
AC_SUBST(DEVMAPPER)
|
|
AC_SUBST(HAVE_LIBDL)
|
|
AC_SUBST(HAVE_SELINUX)
|
|
AC_SUBST(CMDLIB)
|
|
AC_SUBST(MSGFMT)
|
|
AC_SUBST(LOCALEDIR)
|
|
AC_SUBST(CONFDIR)
|
|
AC_SUBST(STATICDIR)
|
|
AC_SUBST(INTL_PACKAGE)
|
|
AC_SUBST(INTL)
|
|
|
|
dnl First and last lines should not contain files to generate in order to
|
|
dnl keep utility scripts running properly
|
|
AC_OUTPUT( \
|
|
Makefile \
|
|
make.tmpl \
|
|
doc/Makefile \
|
|
include/Makefile \
|
|
lib/Makefile \
|
|
lib/format1/Makefile \
|
|
man/Makefile \
|
|
po/Makefile \
|
|
tools/Makefile \
|
|
tools/version.h \
|
|
test/mm/Makefile \
|
|
test/device/Makefile \
|
|
test/format1/Makefile \
|
|
test/regex/Makefile \
|
|
test/filters/Makefile \
|
|
)
|
|
|
|
if test x$ODIRECT != xyes; then
|
|
echo
|
|
echo Warning: O_DIRECT disabled.
|
|
echo Use of pvmove may cause machine to lock up under low memory conditions.
|
|
echo
|
|
fi
|