summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac27
1 files changed, 21 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index b818d3fac0d..fe25ec2bc02 100644
--- a/configure.ac
+++ b/configure.ac
@@ -340,11 +340,12 @@ AC_ARG_WITH([ipv6-default],
AC_HELP_STRING([--with-ipv6-default], [Set IPv6 as default.]),
[with_ipv6_default=${with_libtirpc}], [with_ipv6_default="no"])
-if test "x$ac_cv_file__etc_redhat_release" = "xyes"; then
- if rpm -qa centos-release | grep centos; then
- if rpm -q centos-release | grep "release-6"; then
- with_ipv6_default="no"
- fi
+AC_CHECK_FILE([/etc/centos-release])
+if test "x$ac_cv_file__etc_centos_release" = "xyes"; then
+ dnl On CentOS '-ldl' isn't automatically added to LIBS
+ AC_CHECK_LIB([dl], [dlopen])
+ if grep "release 6" /etc/centos-release; then
+ with_ipv6_default="no"
fi
fi
@@ -1600,7 +1601,20 @@ AC_SUBST(USE_EC_DYNAMIC_NEON)
dnl libglusterfs.so uses math functions
GF_LDADD="${GF_LDADD} ${MATH_LIB}"
-GF_XLATOR_DEFAULT_LDFLAGS='-avoid-version -export-symbols $(top_srcdir)/xlators/xlator.sym'
+case $host_os in
+ dnl Can't use libtool's portable "-no-undefined" as it seems to be ignored on Linux
+ linux*)
+ GF_NO_UNDEFINED='-Wl,--no-undefined'
+ ;;
+ darwin*)
+ GF_NO_UNDEFINED='-Wl,-undefined'
+ ;;
+ *)
+ dnl There's an issue on FreeBSD with reference to __progname used in some parts of code
+ GF_NO_UNDEFINED=''
+ ;;
+esac
+GF_XLATOR_DEFAULT_LDFLAGS='-avoid-version -export-symbols $(top_srcdir)/xlators/xlator.sym '${GF_NO_UNDEFINED}
AC_SUBST(GF_HOST_OS)
AC_SUBST(GF_CFLAGS)
@@ -1612,6 +1626,7 @@ AC_SUBST(RLLIBS)
AC_SUBST(LIBAIO)
AC_SUBST(AM_MAKEFLAGS)
AC_SUBST(AM_LIBTOOLFLAGS)
+AC_SUBST(GF_NO_UNDEFINED)
AC_SUBST(GF_XLATOR_DEFAULT_LDFLAGS)
CONTRIBDIR='$(top_srcdir)/contrib'