mirror of https://github.com/ceph/ceph
152 lines
4.2 KiB
Plaintext
152 lines
4.2 KiB
Plaintext
# -*- Autoconf -*-
|
|
# Process this file with autoconf to produce a configure script.
|
|
|
|
# Autoconf
|
|
AC_PREREQ(2.59)
|
|
AC_INIT([Ceph distributed file system], [.1],
|
|
[Sage Weil <sage@newdream.net>],
|
|
[ceph])
|
|
|
|
# Environment
|
|
AC_CANONICAL_HOST
|
|
AC_CANONICAL_TARGET
|
|
|
|
# Automake
|
|
AM_INIT_AUTOMAKE(ceph, 0.4)
|
|
AM_PROG_CC_C_O
|
|
|
|
# Platform
|
|
case "${target_os}" in
|
|
darwin*)
|
|
AC_DEFINE([DARWIN], [1], [Define if darwin/osx])
|
|
esac
|
|
|
|
# Checks for programs.
|
|
AC_PROG_CXX
|
|
#AC_PROG_CC
|
|
AC_PROG_RANLIB
|
|
AC_PROG_MAKE_SET
|
|
|
|
# Checks for libraries.
|
|
AC_CHECK_LIB([m], [pow])
|
|
AC_CHECK_LIB([pthread], [pthread_create])
|
|
|
|
# debug crap?
|
|
AC_ARG_WITH([debug],
|
|
[AS_HELP_STRING([--with-debug], [build extra debug binaries])],
|
|
[with_debug=yes],
|
|
[with_debug=no])
|
|
AM_CONDITIONAL(WITH_DEBUG, test "$with_debug" = "yes")
|
|
|
|
# fuse?
|
|
AC_ARG_WITH([fuse],
|
|
[AS_HELP_STRING([--with-fuse], [use FUSE library for client])],
|
|
[],
|
|
[with_fuse=check])
|
|
LIBFUSE=
|
|
AS_IF([test "x$with_fuse" != xno],
|
|
[AC_CHECK_LIB([fuse], [fuse_main],
|
|
[AC_SUBST([LIBFUSE], ["-lfuse"])
|
|
AC_DEFINE([HAVE_LIBFUSE], [1],
|
|
[Define if you have fuse])
|
|
HAVE_LIBFUSE=1
|
|
],
|
|
[if test "x$with_fuse" != xcheck; then
|
|
AC_MSG_FAILURE(
|
|
[--with-fuse was given, but test failed])
|
|
fi
|
|
])])
|
|
AM_CONDITIONAL(WITH_FUSE, [test "$HAVE_LIBFUSE" = "1"])
|
|
|
|
# CommonC++?
|
|
AC_ARG_WITH([ccgnu],
|
|
[AS_HELP_STRING([--with-ccgnu],
|
|
[use CommonC++ library for fast thread-safe reference counting])],
|
|
[],
|
|
[with_ccgnu=check])
|
|
LIBCCGNU2=
|
|
AS_IF([test "x$with_ccgnu" == xyes],
|
|
[AC_CHECK_LIB([ccgnu2], [main],
|
|
[AC_SUBST([LIBCCGNU2], ["-lccgnu2"])
|
|
AC_DEFINE([WITH_CCGNU], [1],
|
|
[Define if you have ccgnu])
|
|
LIBS="-lccgnu2 -ldl $LIBS"
|
|
],
|
|
[if test "x$with_ccgnu" != xcheck; then
|
|
AC_MSG_FAILURE(
|
|
[--with-ccgnu was given, but test failed])
|
|
fi
|
|
], [-ldl -lpthread])])
|
|
AM_CONDITIONAL(WITH_CCGNU, test "WITH_CCGNU" = "1")
|
|
|
|
# newsyn? requires mpi.
|
|
#AC_ARG_WITH([newsyn],
|
|
# [AS_HELP_STRING([--with-newsyn], [build newsyn target, requires mpi])],
|
|
# [],
|
|
# [with_newsyn=no])
|
|
|
|
# Checks for header files.
|
|
AC_HEADER_DIRENT
|
|
AC_HEADER_STDC
|
|
AC_HEADER_SYS_WAIT
|
|
|
|
# spirit?
|
|
AC_LANG([C++])
|
|
AC_DEFINE([HAVE_BOOST_SPIRIT_CORE_HPP], [], [Description])
|
|
AC_CHECK_HEADER([boost/spirit.hpp],
|
|
[AC_DEFINE([HAVE_BOOST_SPIRIT_CORE_HPP])],
|
|
[AC_MSG_ERROR([Sorry, you need to install the Boost spirit parser library (libboost-dev on debian)])])
|
|
|
|
AC_LANG([C])
|
|
AC_CHECK_HEADERS([sys/xattr.h arpa/inet.h fcntl.h netdb.h netinet/in.h stdint.h stdlib.h string.h sys/file.h sys/ioctl.h sys/mount.h sys/param.h sys/socket.h sys/statvfs.h sys/time.h sys/vfs.h syslog.h unistd.h utime.h])
|
|
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
|
AC_HEADER_STDBOOL
|
|
AC_C_CONST
|
|
AC_TYPE_UID_T
|
|
AC_C_INLINE
|
|
AC_TYPE_INT16_T
|
|
AC_TYPE_INT32_T
|
|
AC_TYPE_INT64_T
|
|
AC_TYPE_INT8_T
|
|
AC_TYPE_MODE_T
|
|
AC_TYPE_OFF_T
|
|
AC_TYPE_PID_T
|
|
AC_TYPE_SIZE_T
|
|
AC_TYPE_SSIZE_T
|
|
AC_CHECK_MEMBERS([struct stat.st_blksize])
|
|
AC_STRUCT_ST_BLOCKS
|
|
AC_CHECK_MEMBERS([struct stat.st_rdev])
|
|
AC_HEADER_TIME
|
|
AC_STRUCT_TM
|
|
AC_TYPE_UINT16_T
|
|
AC_TYPE_UINT32_T
|
|
AC_TYPE_UINT64_T
|
|
AC_TYPE_UINT8_T
|
|
|
|
# Checks for library functions.
|
|
#AC_FUNC_CHOWN
|
|
#AC_FUNC_CLOSEDIR_VOID
|
|
#AC_FUNC_ERROR_AT_LINE
|
|
#AC_FUNC_FORK
|
|
#AC_PROG_GCC_TRADITIONAL
|
|
#AC_FUNC_LSTAT
|
|
#AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
|
|
#AC_FUNC_MALLOC # this causes annoying rpl_malloc error on some machines; skip it
|
|
#AC_FUNC_MEMCMP
|
|
#AC_FUNC_MMAP
|
|
#AC_FUNC_REALLOC
|
|
#AC_FUNC_SELECT_ARGTYPES
|
|
#AC_TYPE_SIGNAL
|
|
#AC_FUNC_STAT
|
|
#AC_FUNC_UTIME_NULL
|
|
#AC_CHECK_FUNCS([bzero fchdir fdatasync floor ftruncate getcwd gethostbyname gethostname gettimeofday inet_ntoa localtime_r memmove memset mkdir munmap pow rmdir select socket sqrt strcasecmp strchr strerror strstr utime])
|
|
|
|
AC_CONFIG_HEADERS([src/acconfig.h])
|
|
AC_CONFIG_FILES([Makefile
|
|
src/Makefile
|
|
ceph.spec])
|
|
AC_OUTPUT
|
|
|
|
AM_INIT_AUTOMAKE
|