################################################################################ ## ## 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 ## ## 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= ;; 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 -- 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 the liblvm library 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 dnl Enable Debugging AC_ARG_ENABLE(debug, [ --enable-debug Enable debugging], \ DEBUG=yes, DEBUG=no) dnl Disable devmapper AC_ARG_ENABLE(devmapper, [ --disable-devmapper Disable device-mapper interaction], \ DEVMAPPER=no, DEVMAPPER=yes) if test x$DEVMAPPER = xyes; then CFLAGS="$CFLAGS -DDEVMAPPER_SUPPORT" fi dnl Disable O_DIRECT AC_ARG_ENABLE(o_direct, [ --disable-o_direct Disable O_DIRECT], \ ODIRECT=no, ODIRECT=yes) if test x$ODIRECT = xyes; then CFLAGS="$CFLAGS -DO_DIRECT_SUPPORT" 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 test x$HAVE_LIBDL = xyes; then CFLAGS="$CFLAGS -DHAVE_LIBDL" LIBS="-ldl $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 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(LIBS) AC_SUBST(LVM_VERSION) AC_SUBST(DEBUG) AC_SUBST(DEVMAPPER) AC_SUBST(HAVE_LIBDL) 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 \ include/Makefile \ lib/Makefile \ lib/format1/Makefile \ man/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