mirror of
https://github.com/abraunegg/onedrive
synced 2024-05-23 16:12:12 +02:00
Check for supported version of D compiler
check against minimal needed version of ldc/dmd compilers only the first three numbers are compared as numbers, everything after that is string compared * update configure after changes to configure.ac * Update .travis-ci.sh * Update Travis CI to download minimum version of DMD for x32 build testing
This commit is contained in:
parent
10dd0300e3
commit
096120270d
|
@ -80,10 +80,11 @@ function setup_x32_chroot {
|
||||||
# Host dependencies
|
# Host dependencies
|
||||||
sudo apt-get install -qq -y ${HOST_DEPENDENCIES}
|
sudo apt-get install -qq -y ${HOST_DEPENDENCIES}
|
||||||
# Download DMD compiler
|
# Download DMD compiler
|
||||||
wget http://downloads.dlang.org/releases/2.x/2.081.1/dmd.2.081.1.linux.tar.xz
|
DMDVER=2.083.1
|
||||||
tar -xf dmd.2.081.1.linux.tar.xz
|
wget http://downloads.dlang.org/releases/2.x/${DMDVER}/dmd.${DMDVER}.linux.tar.xz
|
||||||
|
tar -xf dmd.${DMDVER}.linux.tar.xz
|
||||||
mv dmd2 dlang-${ARCH}
|
mv dmd2 dlang-${ARCH}
|
||||||
rm -rf dmd.2.081.1.linux.tar.xz
|
rm -rf dmd.${DMDVER}.linux.tar.xz
|
||||||
# Create chrooted environment
|
# Create chrooted environment
|
||||||
sudo mkdir ${CHROOT_DIR}
|
sudo mkdir ${CHROOT_DIR}
|
||||||
sudo debootstrap --foreign --no-check-gpg --variant=buildd --arch=${CHROOT_ARCH32} ${VERSION} ${CHROOT_DIR} ${DEBIAN_MIRROR}
|
sudo debootstrap --foreign --no-check-gpg --variant=buildd --arch=${CHROOT_ARCH32} ${VERSION} ${CHROOT_DIR} ${DEBIAN_MIRROR}
|
||||||
|
|
105
configure
vendored
105
configure
vendored
|
@ -654,6 +654,7 @@ SHELL'
|
||||||
ac_subst_files=''
|
ac_subst_files=''
|
||||||
ac_user_opts='
|
ac_user_opts='
|
||||||
enable_option_checking
|
enable_option_checking
|
||||||
|
enable_version_check
|
||||||
with_systemdsystemunitdir
|
with_systemdsystemunitdir
|
||||||
with_systemduserunitdir
|
with_systemduserunitdir
|
||||||
enable_notifications
|
enable_notifications
|
||||||
|
@ -1297,6 +1298,8 @@ Optional Features:
|
||||||
--disable-option-checking ignore unrecognized --enable/--with options
|
--disable-option-checking ignore unrecognized --enable/--with options
|
||||||
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
|
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
|
||||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||||
|
--disable-version-check Disable checks of compiler version during configure
|
||||||
|
time
|
||||||
--enable-notifications Enable desktop notifications via libnotify
|
--enable-notifications Enable desktop notifications via libnotify
|
||||||
--enable-completions Install shell completions for bash and zsh
|
--enable-completions Install shell completions for bash and zsh
|
||||||
--enable-debug Pass debug option to the compiler
|
--enable-debug Pass debug option to the compiler
|
||||||
|
@ -2063,6 +2066,108 @@ case $(basename $DC) in
|
||||||
NOT_FOUND) as_fn_error 1 "Could not find any compatible D compiler" "$LINENO" 5
|
NOT_FOUND) as_fn_error 1 "Could not find any compatible D compiler" "$LINENO" 5
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
vercomp () {
|
||||||
|
IFS=. read -r a0 a1 a2 aa <<EOF
|
||||||
|
$1
|
||||||
|
EOF
|
||||||
|
IFS=. read -r b0 b1 b2 bb <<EOF
|
||||||
|
$2
|
||||||
|
EOF
|
||||||
|
# leading 0 are ignored: 01 == 1, this also
|
||||||
|
# converts empty strings into 0: 1..2 == 1.0.2
|
||||||
|
a0=$(expr $a0 + 0)
|
||||||
|
a1=$(expr $a1 + 0)
|
||||||
|
a2=$(expr $a2 + 0)
|
||||||
|
b0=$(expr $b0 + 0)
|
||||||
|
b1=$(expr $b1 + 0)
|
||||||
|
b2=$(expr $b2 + 0)
|
||||||
|
#echo "$1 parsed to a=$a0 b=$a1 c=$a2 rest=$aa"
|
||||||
|
#echo "$2 parsed to a=$b0 b=$b1 c=$b2 rest=$bb"
|
||||||
|
if test $a0 -lt $b0
|
||||||
|
then
|
||||||
|
return 2
|
||||||
|
elif test $a0 -gt $b0
|
||||||
|
then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
if test $a1 -lt $b1
|
||||||
|
then
|
||||||
|
return 2
|
||||||
|
elif test $a1 -gt $b1
|
||||||
|
then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
if test $a2 -lt $b2
|
||||||
|
then
|
||||||
|
return 2
|
||||||
|
elif test $a2 -gt $b2
|
||||||
|
then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
if test $aa '<' $bb
|
||||||
|
then
|
||||||
|
return 2
|
||||||
|
elif test $aa '>' $bb
|
||||||
|
then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DO_VERSION_CHECK=1
|
||||||
|
# Check whether --enable-version-check was given.
|
||||||
|
if test "${enable_version_check+set}" = set; then :
|
||||||
|
enableval=$enable_version_check;
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$enable_version_check" = "xno"; then :
|
||||||
|
DO_VERSION_CHECK=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$DO_VERSION_CHECK" = "1"; then :
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking version of D compiler" >&5
|
||||||
|
$as_echo_n "checking version of D compiler... " >&6; }
|
||||||
|
# check for valid versions
|
||||||
|
case $(basename $DC) in
|
||||||
|
ldmd2|ldc2)
|
||||||
|
# LDC - the LLVM D compiler (1.12.0): ...
|
||||||
|
VERSION=`$DC --version`
|
||||||
|
# remove everything up to first (
|
||||||
|
VERSION=${VERSION#* (}
|
||||||
|
# remove everthing after ):
|
||||||
|
VERSION=${VERSION%%):*}
|
||||||
|
# now version should be something like L.M.N
|
||||||
|
MINVERSION=1.11.0
|
||||||
|
;;
|
||||||
|
dmd)
|
||||||
|
# DMD64 D Compiler v2.085.1\n...
|
||||||
|
VERSION=`$DC --version | tr '\n' ' '`
|
||||||
|
VERSION=${VERSION#*Compiler v}
|
||||||
|
VERSION=${VERSION%% *}
|
||||||
|
# now version should be something like L.M.N
|
||||||
|
MINVERSION=2.083.1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $VERSION" >&5
|
||||||
|
$as_echo "$VERSION" >&6; }
|
||||||
|
|
||||||
|
vercomp $MINVERSION $VERSION
|
||||||
|
if test $? = 1
|
||||||
|
then
|
||||||
|
as_fn_error 1 "Compiler version insufficient, current compiler version $VERSION, minimum version $MINVERSION" "$LINENO" 5
|
||||||
|
fi
|
||||||
|
#echo "MINVERSION=$MINVERSION VERSION=$VERSION"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PACKAGE_DATE="June 2019"
|
PACKAGE_DATE="June 2019"
|
||||||
|
|
96
configure.ac
96
configure.ac
|
@ -32,6 +32,102 @@ case $(basename $DC) in
|
||||||
ldc2) DC_TYPE=ldc ;;
|
ldc2) DC_TYPE=ldc ;;
|
||||||
NOT_FOUND) AC_MSG_ERROR(Could not find any compatible D compiler, 1)
|
NOT_FOUND) AC_MSG_ERROR(Could not find any compatible D compiler, 1)
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
dnl dash/POSIX version of version comparison
|
||||||
|
vercomp () {
|
||||||
|
IFS=. read -r a0 a1 a2 aa <<EOF
|
||||||
|
$1
|
||||||
|
EOF
|
||||||
|
IFS=. read -r b0 b1 b2 bb <<EOF
|
||||||
|
$2
|
||||||
|
EOF
|
||||||
|
# leading 0 are ignored: 01 == 1, this also
|
||||||
|
# converts empty strings into 0: 1..2 == 1.0.2
|
||||||
|
a0=$(expr $a0 + 0)
|
||||||
|
a1=$(expr $a1 + 0)
|
||||||
|
a2=$(expr $a2 + 0)
|
||||||
|
b0=$(expr $b0 + 0)
|
||||||
|
b1=$(expr $b1 + 0)
|
||||||
|
b2=$(expr $b2 + 0)
|
||||||
|
#echo "$1 parsed to a=$a0 b=$a1 c=$a2 rest=$aa"
|
||||||
|
#echo "$2 parsed to a=$b0 b=$b1 c=$b2 rest=$bb"
|
||||||
|
if test $a0 -lt $b0
|
||||||
|
then
|
||||||
|
return 2
|
||||||
|
elif test $a0 -gt $b0
|
||||||
|
then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
if test $a1 -lt $b1
|
||||||
|
then
|
||||||
|
return 2
|
||||||
|
elif test $a1 -gt $b1
|
||||||
|
then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
if test $a2 -lt $b2
|
||||||
|
then
|
||||||
|
return 2
|
||||||
|
elif test $a2 -gt $b2
|
||||||
|
then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
if test $aa '<' $bb
|
||||||
|
then
|
||||||
|
return 2
|
||||||
|
elif test $aa '>' $bb
|
||||||
|
then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
DO_VERSION_CHECK=1
|
||||||
|
AC_ARG_ENABLE(version-check,
|
||||||
|
AS_HELP_STRING([--disable-version-check], [Disable checks of compiler version during configure time]))
|
||||||
|
AS_IF([test "x$enable_version_check" = "xno"], DO_VERSION_CHECK=0,)
|
||||||
|
|
||||||
|
AS_IF([test "$DO_VERSION_CHECK" = "1"],
|
||||||
|
[ dnl do the version check
|
||||||
|
AC_MSG_CHECKING([version of D compiler])
|
||||||
|
# check for valid versions
|
||||||
|
case $(basename $DC) in
|
||||||
|
ldmd2|ldc2)
|
||||||
|
# LDC - the LLVM D compiler (1.12.0): ...
|
||||||
|
VERSION=`$DC --version`
|
||||||
|
# remove everything up to first (
|
||||||
|
VERSION=${VERSION#* (}
|
||||||
|
# remove everthing after ):
|
||||||
|
VERSION=${VERSION%%):*}
|
||||||
|
# now version should be something like L.M.N
|
||||||
|
MINVERSION=1.11.0
|
||||||
|
;;
|
||||||
|
dmd)
|
||||||
|
# DMD64 D Compiler v2.085.1\n...
|
||||||
|
VERSION=`$DC --version | tr '\n' ' '`
|
||||||
|
VERSION=${VERSION#*Compiler v}
|
||||||
|
VERSION=${VERSION%% *}
|
||||||
|
# now version should be something like L.M.N
|
||||||
|
MINVERSION=2.083.1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
AC_MSG_RESULT([$VERSION])
|
||||||
|
|
||||||
|
vercomp $MINVERSION $VERSION
|
||||||
|
if test $? = 1
|
||||||
|
then
|
||||||
|
AC_MSG_ERROR([Compiler version insufficient, current compiler version $VERSION, minimum version $MINVERSION], 1)
|
||||||
|
fi
|
||||||
|
#echo "MINVERSION=$MINVERSION VERSION=$VERSION"
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AC_SUBST([DC_TYPE])
|
AC_SUBST([DC_TYPE])
|
||||||
dnl In case the environment variable DCFLAGS is set, we export it to the
|
dnl In case the environment variable DCFLAGS is set, we export it to the
|
||||||
dnl generated Makefile at configure run:
|
dnl generated Makefile at configure run:
|
||||||
|
|
Loading…
Reference in a new issue