fi
}
-# Valid values are: darwin,fedora,rhel,ubuntu
+# Validate the distribution name, or toss an erro
+# values: darwin,fedora,rhel,ubuntu,debian,opensuse
function set_VENDOR_DISTRIBUTION ()
{
local dist=`echo "$1" | tr '[A-Z]' '[a-z]'`
rhel)
VENDOR_DISTRIBUTION='rhel'
;;
+ debian)
+ VENDOR_DISTRIBUTION='debian'
+ ;;
ubuntu)
VENDOR_DISTRIBUTION='ubuntu'
;;
+ suse)
+ VENDOR_DISTRIBUTION='opensuse'
+ ;;
opensuse)
VENDOR_DISTRIBUTION='opensuse'
;;
esac
}
+# Validate a Vendor's release name/number
function set_VENDOR_RELEASE ()
{
local release=`echo "$1" | tr '[A-Z]' '[a-z]'`
case "$VENDOR_DISTRIBUTION" in
darwin)
- VENDOR_RELEASE='mountain'
+ case "$VENDOR_DISTRIBUTION" in
+ 10.6*)
+ VENDOR_RELEASE='snow_leopard'
+ ;;
+ 10.7*)
+ VENDOR_RELEASE='mountain'
+ ;;
+ mountain)
+ VENDOR_RELEASE='mountain'
+ ;;
+ 10.8*)
+ VENDOR_RELEASE='mountain_lion'
+ ;;
+ *)
+ VENDOR_RELEASE='unknown'
+ ;;
+ esac
;;
fedora)
VENDOR_RELEASE="$release"
+ if [[ "x$VENDOR_RELEASE" == '18' ]]; then
+ VENDOR_RELEASE='sphericalcow'
+ fi
;;
rhel)
VENDOR_RELEASE="$release"
;;
ubuntu)
VENDOR_RELEASE="$release"
+ if [[ "x$VENDOR_RELEASE" == 'x12.04' ]]; then
+ VENDOR_RELEASE="precise"
+ elif [[ "x$VENDOR_RELEASE" == 'x12.10' ]]; then
+ VENDOR_RELEASE="quantal"
+ fi
;;
opensuse)
VENDOR_RELEASE="$release"
}
-# Valid values are: apple, redhat, centos, canonical
+# Valid values are: apple, redhat, centos, canonical, oracle, suse
function set_VENDOR ()
{
local vendor=`echo "$1" | tr '[A-Z]' '[a-z]'`
redhat)
VENDOR='redhat'
;;
+ fedora)
+ VENDOR='redhat'
+ ;;
+ redhat-release-server-*)
+ VENDOR='redhat'
+ ;;
+ enterprise-release-*)
+ VENDOR='oracle'
+ ;;
centos)
VENDOR='centos'
;;
canonical)
VENDOR='canonical'
;;
+ ubuntu)
+ VENDOR='canonical'
+ ;;
+ debian)
+ VENDOR='debian'
+ ;;
+ opensuse)
+ VENDOR='suse'
+ ;;
suse)
VENDOR='suse'
;;
set_VENDOR_DISTRIBUTION $2
set_VENDOR_RELEASE $3
+
+ # Set which vendor/versions we trust for autoreconf
+ case $VENDOR_DISTRIBUTION in
+ fedora)
+ if [[ "x$VENDOR_RELEASE" == 'x18' ]]; then
+ AUTORECONF_REBUILD_HOST=true
+ elif [[ "x$VENDOR_RELEASE" == 'xsphericalcow' ]]; then
+ AUTORECONF_REBUILD_HOST=true
+ elif [[ "x$VENDOR_RELEASE" == 'x19' ]]; then
+ AUTORECONF_REBUILD_HOST=true
+ fi
+ ;;
+ canonical)
+ if [[ "x$VENDOR_RELEASE" == 'xprecise' ]]; then
+ AUTORECONF_REBUILD_HOST=true
+ elif [[ "x$VENDOR_RELEASE" == 'xquantal' ]]; then
+ AUTORECONF_REBUILD_HOST=true
+ fi
+ ;;
+ esac
+
}
function determine_target_platform ()
UNAME_KERNEL=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_KERNEL_RELEASE=`(uname -r) 2>/dev/null` || UNAME_KERNEL_RELEASE=unknown
- if [[ $(uname) == 'Darwin' ]]; then
+ if [[ -x '/usr/bin/sw_vers' ]]; then
+ local _VERSION=`/usr/bin/sw_vers -productVersion`
+ set_VENDOR 'apple' 'darwin' $_VERSION
+ elif [[ $(uname) == 'Darwin' ]]; then
set_VENDOR 'apple' 'darwin' 'mountain'
elif [[ -f '/etc/fedora-release' ]]; then
local fedora_version=`cat /etc/fedora-release | awk ' { print $3 } '`
set_VENDOR 'redhat' 'fedora' $fedora_version
- if [[ "x$VENDOR_RELEASE" == 'x17' ]]; then
- AUTORECONF_REBUILD_HOST=true
- fi
elif [[ -f '/etc/centos-release' ]]; then
local centos_version=`cat /etc/centos-release | awk ' { print $7 } '`
set_VENDOR 'centos' 'rhel' $centos_version
set_VENDOR 'suse' $suse_distribution $suse_version
elif [[ -f '/etc/redhat-release' ]]; then
local rhel_version=`cat /etc/redhat-release | awk ' { print $7 } '`
- set_VENDOR 'redhat' 'rhel' $rhel_version
+ local _vendor=`rpm -qf /etc/redhat-release`
+ set_VENDOR $_vendor 'rhel' $rhel_version
+ elif [[ -f '/etc/os-release' ]]; then
+ source '/etc/os-release'
+ set_VENDOR $ID $ID $VERSION_ID
+ elif [[ -x '/usr/bin/lsb_release' ]]; then
+ local _ID=`/usr/bin/lsb_release -s -i`
+ local _VERSION=`/usr/bin/lsb_release -s -r`
+ set_VENDOR $_ID $_ID $_VERSION_ID
elif [[ -f '/etc/lsb-release' ]]; then
- local debian_DISTRIB_ID=`cat /etc/lsb-release | grep DISTRIB_ID | awk -F= ' { print $2 } '`
- local debian_version=`cat /etc/lsb-release | grep DISTRIB_CODENAME | awk -F= ' { print $2 } '`
- set_VENDOR 'canonical' $debian_DISTRIB_ID $debian_version
- if [[ "x$VENDOR_RELEASE" == 'xprecise' ]]; then
- AUTORECONF_REBUILD_HOST=true
- fi
+ source '/etc/lsb-release'
+ set_VENDOR 'canonical' $DISTRIB_ID $DISTRIB_CODENAME
fi
rebuild_host_os
fi
assert_exec_file 'configure'
+ bash -n configure
}
function run_autoreconf ()
_APPEND_COMPILE_FLAGS_ERROR([-Wunsafe-loop-optimizations])
_APPEND_COMPILE_FLAGS_ERROR([-funsafe-loop-optimizations])
AS_IF([test "x$ac_cv_vcs_checkout" = xyes],[
- _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer]),
+ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
_APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address])
_APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer])
AS_IF([test "x$enable_shared" = "xyes"],[
_APPEND_COMPILE_FLAGS_ERROR([-Wc++11-compat])
# _APPEND_COMPILE_FLAGS_ERROR([-Weffc++])
AS_IF([test "x$ac_cv_vcs_checkout" = xyes],[
- _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer]),
+ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
_APPEND_COMPILE_FLAGS_ERROR([-fsanitize=address])
_APPEND_COMPILE_FLAGS_ERROR([-fsanitize=integer])
AS_IF([test "x$enable_shared" = "xyes"],[