mirror of https://github.com/stella-emu/stella.git
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:
parent
dae8205029
commit
dd480fdb7e
|
@ -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!
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in New Issue