diff options
| author | Niels de Vos <ndevos@redhat.com> | 2015-04-03 18:14:13 +0200 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2015-04-10 11:39:52 +0000 | 
| commit | 6eb27480b6559103e4437facd7aecbcd373479c9 (patch) | |
| tree | 946b5531baddce4387ac7786f7230c3d52dd1161 /configure.ac | |
| parent | 26cbd3bdf5dad190559afbdf0ac125262c4e90a6 (diff) | |
build: make contrib/uuid dependency optional
On Linux systems we should use the libuuid from the distribution and not
bundle and statically link the contrib/uuid/ bits.
libglusterfs/src/compat-uuid.h has been introduced and should become an
abstraction layer for different UUID APIs. Non-Linux operating systems
should implement their compatibility layer there.
Once all operating systems have an implementation in compat-uuid.h, we
can remove contrib/uuid/ from the repository completely.
Change-Id: I345e5357644be2521685e00358bb8c83c4ea0577
BUG: 1206587
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-on: http://review.gluster.org/10129
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'configure.ac')
| -rw-r--r-- | configure.ac | 36 | 
1 files changed, 24 insertions, 12 deletions
diff --git a/configure.ac b/configure.ac index 5fe304abf4d..9fe68e948f4 100644 --- a/configure.ac +++ b/configure.ac @@ -397,6 +397,19 @@ case $host_os in  esac  AC_SUBST(MATH_LIB) +dnl use libuuid.so or fall-back to contrib/uuid +PKG_CHECK_MODULES([UUID], [uuid], +        [HAVE_LIBUUID=yes +         AC_DEFINE(HAVE_LIBUUID, 1, [have libuuid.so]) +         PKGCONFIG_UUID=uuid], +        [HAVE_LIBUUID=no +         UUID_CFLAGS='-I$(CONTRIBDIR)/uuid']) +AM_CONDITIONAL([HAVE_LIBUUID], [test x$HAVE_LIBUUID = xyes]) +dnl libglusterfs needs uuid.h, practically everything depends on it +GF_CPPFLAGS="${GF_CPPFLAGS} ${UUID_CFLAGS}" +dnl PKGCONFIG_UUID is used for the dependency in *.pc.in files +AC_SUBST(PKGCONFIG_UUID) +  dnl NetBSD does not support POSIX ACLs :-(  case $host_os in       *netbsd*) @@ -837,6 +850,9 @@ if test "x${ac_cv_header_argp_h}" = "xno"; then     ARGP_STANDALONE_DIR='${top_builddir}/contrib/argp-standalone'  fi +dnl libglusterfs needs argp.h, practically everything depends on it +GF_CPPFLAGS="${GF_CPPFLAGS} ${ARGP_STANDALONE_CPPFLAGS}" +  AC_SUBST(ARGP_STANDALONE_CPPFLAGS)  AC_SUBST(ARGP_STANDALONE_LDADD)  AC_SUBST(ARGP_STANDALONE_DIR) @@ -923,7 +939,7 @@ AC_COMPILE_IFELSE(  AC_MSG_RESULT([$CLANG])  if test "x$CLANG" = "xyes"; then -   GF_COMPILER_FLAGS="-Wno-gnu" +   GF_CFLAGS="${GF_CFLAGS} -Wno-gnu"  fi  if test "x$ac_cv_header_execinfo_h" = "xno"; then @@ -937,7 +953,7 @@ if test "x$ac_cv_header_execinfo_h" = "xno"; then     # execinfo.c in ./contrib/libexecinfo uses __builtin_frame_address(n)     # for providing cross platform backtrace*() functions.     if test "x$CLANG" = "xno"; then -      CFLAGS="$CFLAGS -fno-omit-frame-pointer" +      GF_CFLAGS="${GF_CFLAGS} -fno-omit-frame-pointer"     fi  fi @@ -969,23 +985,19 @@ prefix=$old_prefix  case $host_os in       linux*)          GF_HOST_OS="GF_LINUX_HOST_OS" -        GF_CFLAGS="${GF_COMPILER_FLAGS} ${ARGP_STANDALONE_CPPFLAGS}" -        GF_LDADD="${ARGP_STANDALONE_LDADD}"          GF_FUSE_CFLAGS="-DFUSERMOUNT_DIR=\\\"\$(bindir)\\\""          GLUSTERD_WORKDIR="${LOCALSTATEDIR}/lib/glusterd"          ;;       solaris*)          GF_HOST_OS="GF_SOLARIS_HOST_OS" -        GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -m64" -        GF_LDFLAGS="" -        GF_LDADD="${ARGP_STANDALONE_LDADD}" +        GF_CFLAGS="${GF_CFLAGS} -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -m64"          BUILD_FUSE_CLIENT=no          FUSE_CLIENT_SUBDIR=""          GLUSTERD_WORKDIR="${LOCALSTATEDIR}/lib/glusterd"          ;;       *netbsd*)          GF_HOST_OS="GF_BSD_HOST_OS" -        GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D_INCOMPLETE_XOPEN_C063" +        GF_CFLAGS="${GF_CFLAGS} -D_INCOMPLETE_XOPEN_C063"          GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_BASENAME"          GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_DIRNAME"          GF_FUSE_CFLAGS="-DFUSERMOUNT_DIR=\\\"\$(sbindir)\\\"" @@ -1002,7 +1014,7 @@ case $host_os in          ;;       *freebsd*)          GF_HOST_OS="GF_BSD_HOST_OS" -        GF_CFLAGS="${GF_COMPILER_FLAGS} ${ARGP_STANDALONE_CPPFLAGS} -O0" +        GF_CFLAGS="${GF_CFLAGS} ${ARGP_STANDALONE_CPPFLAGS} -O0"          GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_BASENAME"          GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_DIRNAME"          GF_CFLAGS="${GF_CFLAGS} -D_LIBGEN_H_" @@ -1022,7 +1034,7 @@ case $host_os in       darwin*)          GF_HOST_OS="GF_DARWIN_HOST_OS"          LIBTOOL=glibtool -        GF_CFLAGS="${GF_COMPILER_FLAGS} ${ARGP_STANDALONE_CPPFLAGS} " +        GF_CFLAGS="${GF_CFLAGS} ${ARGP_STANDALONE_CPPFLAGS} "          GF_CFLAGS="${GF_CFLAGS} -D_REENTRANT -D_XOPEN_SOURCE "          GF_CFLAGS="${GF_CFLAGS} -D_DARWIN_USE_64_BIT_INODE "          GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_BASENAME" @@ -1239,8 +1251,8 @@ CONTRIBDIR='$(top_srcdir)/contrib'  AC_SUBST(CONTRIBDIR)  GF_CPPDEFINES='-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D$(GF_HOST_OS)' -GF_CPPINCLUDES='-I$(top_srcdir)/libglusterfs/src -I$(CONTRIBDIR)/uuid' -GF_CPPFLAGS="$GF_CPPDEFINES $GF_CPPINCLUDES" +GF_CPPINCLUDES='-I$(top_srcdir)/libglusterfs/src' +GF_CPPFLAGS="$GF_CPPFLAGS $GF_CPPDEFINES $GF_CPPINCLUDES"  AC_SUBST([GF_CPPFLAGS])  AM_CONDITIONAL([GF_LINUX_HOST_OS], test "${GF_HOST_OS}" = "GF_LINUX_HOST_OS")  | 
