Updated configure script for GCC6, and in general cleaned up

some obsolete cruft.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3293 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2016-02-29 22:41:18 +00:00
parent dae8205029
commit dd480fdb7e
2 changed files with 47 additions and 25 deletions

View File

@ -23,6 +23,10 @@
adding and subtracting, but also fixes compile-time warnings that adding and subtracting, but also fixes compile-time warnings that
I couldn't get rid of before. I couldn't get rid of before.
* Updated UNIX configure script to work with GCC 6.x compilers, and to
remove references to obsolete compiler versions that can no longer
be used to compile Stella.
-Have fun! -Have fun!

68
configure vendored
View File

@ -94,13 +94,13 @@ echocheck () {
test_compiler () test_compiler ()
{ {
cat <<EOF >tmp_cxx_compiler.cpp cat <<EOF >tmp_cxx_compiler.cpp
#include <memory>
class Foo { class Foo {
int a; int a;
}; };
int main(int argc, char **argv) int main(int argc, char* argv[])
{ {
Foo *a = new Foo(); std::shared_ptr<Foo> a = std::make_shared<Foo>();
delete a;
return 0; return 0;
} }
EOF EOF
@ -363,7 +363,7 @@ else
fi fi
for compiler in $compilers; do for compiler in $compilers; do
if test_compiler $compiler; then if test_compiler "$compiler -std=c++11"; then
CXX=$compiler CXX=$compiler
echo $CXX echo $CXX
break break
@ -379,34 +379,25 @@ fi
echocheck "compiler version" echocheck "compiler version"
have_clang=no
cc_check_define __clang_version__ && have_clang=yes
have_gcc=no have_gcc=no
cc_check_define __GNUC__ && have_gcc=yes cc_check_define __GNUC__ && have_gcc=yes
if test "$have_gcc" = yes; then if test "$have_clang" = yes; then
cxx_name=`( $cc -v ) 2>&1 | tail -n 1 | cut -d ' ' -f 1` cxx_name=`( $cc -v ) 2>&1 | tail -n 1 | cut -d ' ' -f 1`
cxx_version=`( $CXX -dumpversion ) 2>&1` cxx_version=$( $CXX -dM -E -x c /dev/null | grep __clang_version__ | sed 's/^.*[^0-9]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/g' 2>&1)
if test "$?" -gt 0; then if test "$?" -gt 0; then
cxx_version="not found" cxx_version="not found"
fi fi
case $cxx_version in case $cxx_version in
2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9]|3.[0-9].[0-9][-.]*|4.[0-9]|4.[0-9].[0-9]|4.[0-9].[0-9][-.]*|5.[0-9]|5.[0-9].[0-9]|5.[0-9].[0-9][-.]*|6.[0-9]|6.[0-9].[0-9]|6.[0-9].[0-9][-.]*) [3].[4-9]|[3].[4-9].[0-9]|[3].[4-9].[0-9][-.]*)
_cxx_major=`echo $cxx_version | cut -d '.' -f 1` _cxx_major=`echo $cxx_version | cut -d '.' -f 1`
_cxx_minor=`echo $cxx_version | cut -d '.' -f 2` _cxx_minor=`echo $cxx_version | cut -d '.' -f 2`
cxx_version="$cxx_version, ok" cxx_version="$cxx_version, ok"
cxx_verc_fail=no cxx_verc_fail=no
;; ;;
# whacky beos version strings
2.9-beos-991026*|2.9-beos-000224*)
_cxx_major=2
_cxx_minor=95
cxx_version="$cxx_version, ok"
cxx_verc_fail=no
;;
3_4)
_cxx_major=3
_mxx_minor=4
;;
'not found') 'not found')
cxx_verc_fail=yes cxx_verc_fail=yes
;; ;;
@ -415,13 +406,40 @@ if test "$have_gcc" = yes; then
cxx_verc_fail=yes cxx_verc_fail=yes
;; ;;
esac esac
if test "$_cxx_major" -ge "3" ; then CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS" _make_def_HAVE_GCC3='HAVE_GCC3 = 1'
_make_def_HAVE_GCC3='HAVE_GCC3 = 1' add_line_to_config_mk 'CXX_UPDATE_DEP_FLAG = -MMD -MF "$(*D)/$(DEPDIR)/$(*F).d" -MQ "$@" -MP'
add_line_to_config_mk 'CXX_UPDATE_DEP_FLAG = -MMD -MF "$(*D)/$(DEPDIR)/$(*F).d" -MQ "$@" -MP'
fi;
_make_def_HAVE_GCC='HAVE_GCC = 1' _make_def_HAVE_GCC='HAVE_GCC = 1'
echo "$cxx_version" echo "$cxx_version"
elif test "$have_gcc" = yes; then
cxx_name=`( $cc -v ) 2>&1 | tail -n 1 | cut -d ' ' -f 1`
cxx_version=`( $CXX -dumpversion ) 2>&1`
if test "$?" -gt 0; then
cxx_version="not found"
fi
case $cxx_version in
4.[7-9]|4.[7-9].[0-9]|4.[7-9].[0-9][-.]*|[5-6].[0-9]|[5-6].[0-9].[0-9]|[5-6].[0-9].[0-9][-.]*)
_cxx_major=`echo $cxx_version | cut -d '.' -f 1`
_cxx_minor=`echo $cxx_version | cut -d '.' -f 2`
cxx_version="$cxx_version, ok"
cxx_verc_fail=no
;;
'not found')
cxx_verc_fail=yes
;;
*)
cxx_version="$cxx_version, bad"
cxx_verc_fail=yes
;;
esac
CXXFLAGS="$CXXFLAGS"
_make_def_HAVE_GCC3='HAVE_GCC3 = 1'
add_line_to_config_mk 'CXX_UPDATE_DEP_FLAG = -MMD -MF "$(*D)/$(DEPDIR)/$(*F).d" -MQ "$@" -MP'
_make_def_HAVE_GCC='HAVE_GCC = 1'
echo "$cxx_version"
else else
cxx_version=`( $CXX -version ) 2>&1` cxx_version=`( $CXX -version ) 2>&1`
if test "$?" -eq 0; then if test "$?" -eq 0; then
@ -467,8 +485,8 @@ fi
if test "$cxx_verc_fail" = yes ; then if test "$cxx_verc_fail" = yes ; then
echo echo
echo "The version of your compiler is not supported at this time" echo "The version of your compiler is not supported at this time"
echo "Please ensure you are using GCC 2.95.x or GCC 3.x" echo "Please ensure you are using GCC 4.7 / Clang 3.4 or above"
#exit 1 exit 1
fi fi
# #