Merge svn r27779

Conflicts:
	src/autoreplace_gui.cpp
	src/economy.cpp
	src/fios_gui.cpp
	src/lang/spanish_MX.txt
	src/network/network_gui.cpp
	src/rev.cpp.in
	src/road_gui.cpp
	src/toolbar_gui.cpp
	src/window.cpp
This commit is contained in:
Sergii Pylypenko
2017-03-17 23:14:41 +02:00
287 changed files with 6065 additions and 4082 deletions

View File

@@ -1285,7 +1285,7 @@ make_compiler_cflags() {
# -W alone doesn't enable all warnings enabled by -Wall; on the other hand,
# -Weverything enables too many useless warnings that can't be disabled (as of 3.0)
flags="$flags -Wall -W"
flags="$flags -Wall -W -Wextra"
# warning: unused parameter '...'
flags="$flags -Wno-unused-parameter"
@@ -1326,13 +1326,20 @@ make_compiler_cflags() {
flags="$flags -Wno-unused-variable"
fi
if [ "$cc_version" -ge "33" ]; then
# clang completed C++11 support in version 3.3
flags="$flags -std=c++11"
fi
# rdynamic is used to get useful stack traces from crash reports.
ldflags="$ldflags -rdynamic"
else
# Enable some things only for certain GCC versions
cc_version=`$1 -dumpversion | cut -c 1,3`
# cc_version = major_version * 100 + minor_version
# For example: "3.3" -> 303, "4.9.2" -> 409, "6" -> 600, "23.5" -> 2305
cc_version=`$1 -dumpversion | $awk -F . '{printf "%d%02d", $1, $2}'`
if [ $cc_version -lt 33 ]; then
if [ $cc_version -lt 303 ]; then
log 1 "configure: error: gcc older than 3.3 can't compile OpenTTD because of its poor template support"
exit 1
fi
@@ -1345,20 +1352,20 @@ make_compiler_cflags() {
if [ $enable_assert -eq 0 ]; then
# Do not warn about unused variables when building without asserts
flags="$flags -Wno-unused-variable"
if [ $cc_version -ge 46 ]; then
if [ $cc_version -ge 406 ]; then
# GCC 4.6 gives more warnings, disable them too
flags="$flags -Wno-unused-but-set-variable"
flags="$flags -Wno-unused-but-set-parameter"
fi
fi
if [ $cc_version -ge 34 ]; then
if [ $cc_version -ge 304 ]; then
# Warn when a variable is used to initialise itself:
# int a = a;
flags="$flags -Winit-self"
fi
if [ $cc_version -ge 40 ]; then
if [ $cc_version -ge 400 ]; then
# GCC 4.0+ complains about that we break strict-aliasing.
# On most places we don't see how to fix it, and it doesn't
# break anything. So disable strict-aliasing to make the
@@ -1369,7 +1376,7 @@ make_compiler_cflags() {
flags="$flags -Wcast-qual"
fi
if [ $cc_version -ge 42 ]; then
if [ $cc_version -ge 402 ]; then
# GCC 4.2+ automatically assumes that signed overflows do
# not occur in signed arithmetics, whereas we are not
# sure that they will not happen. It furthermore complains
@@ -1380,33 +1387,42 @@ make_compiler_cflags() {
flags="$flags -Wnon-virtual-dtor"
fi
if [ $cc_version -ge 43 ]; then
if [ $cc_version -ge 403 ] && [ $cc_version -lt 600 ]; then
# Use gnu++0x mode so static_assert() is available.
# Don't use c++0x, it breaks mingw (with gcc 4.4.0).
cxxflags="$cxxflags -std=gnu++0x"
fi
if [ $cc_version -eq 45 ]; then
if [ $cc_version -eq 405 ]; then
# Prevent optimisation supposing enums are in a range specified by the standard
# For details, see http://gcc.gnu.org/PR43680
flags="$flags -fno-tree-vrp"
fi
if [ $cc_version -ge 47 ]; then
if [ $cc_version -eq 407 ]; then
# Disable -Wnarrowing which gives many warnings, such as:
# warning: narrowing conversion of '...' from 'unsigned int' to 'int' inside { } [-Wnarrowing]
# They are valid according to the C++ standard, but useless.
cxxflags="$cxxflags -Wno-narrowing"
fi
if [ $cc_version -ge 407 ]; then
# Disable bogus 'attempt to free a non-heap object' warning
flags="$flags -Wno-free-nonheap-object"
fi
if [ $cc_version -ge 600 ]; then
# -flifetime-dse=2 (default since GCC 6) doesn't play
# well with our custom pool item allocator
cxxflags="$cxxflags -flifetime-dse=1 -std=gnu++14"
fi
if [ "$enable_lto" != "0" ]; then
# GCC 4.5 outputs '%{flto}', GCC 4.6 outputs '%{flto*}'
has_lto=`$1 -dumpspecs | grep '\%{flto'`
if [ -n "$has_lto" ]; then
# Use LTO only if we see LTO exists and is requested
if [ $cc_version -lt 46 ]; then
if [ $cc_version -lt 406 ]; then
flags="$flags -flto"
else
flags="$flags -flto=jobserver"
@@ -1490,7 +1506,7 @@ make_cflags_and_ldflags() {
fi
if [ $enable_debug -le 2 ]; then
cc_host_is_gcc=`basename "$cc_host" | grep "gcc" &>/dev/null`
cc_host_is_gcc=`basename "$cc_host" | grep "gcc" 2>/dev/null`
if [ -n "$cc_host_is_gcc" ]; then
# Define only when compiling with GCC. Some GLIBC versions use GNU
# extensions in a way that breaks build with at least ICC.
@@ -1498,14 +1514,14 @@ make_cflags_and_ldflags() {
CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
fi
cc_build_is_gcc=`basename "$cc_build" | grep "gcc" &>/dev/null`
cc_build_is_gcc=`basename "$cc_build" | grep "gcc" 2>/dev/null`
if [ -n "$cc_build_is_gcc" ]; then
# Just add -O1 to the tools needed for building.
CFLAGS_BUILD="$CFLAGS_BUILD -D_FORTIFY_SOURCE=2 -O1"
fi
fi
if [ "$os" = "OSX" ] && [ $cc_version -eq 40 ]; then
if [ "$os" = "OSX" ] && [ $cc_version -eq 400 ]; then
# Apple's GCC 4.0 has a compiler bug for x86_64 with (higher) optimization,
# wrongly optimizing ^= in loops. This disables the failing optimisation.
CFLAGS="$CFLAGS -fno-expensive-optimizations"
@@ -1529,7 +1545,7 @@ make_cflags_and_ldflags() {
LDFLAGS="$LDFLAGS -mwin32"
fi
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ]; then
if [ $cc_version -lt 46 ]; then
if [ $cc_version -lt 406 ]; then
flags="$flags -mno-cygwin"
LDFLAGS="$LDFLAGS -mno-cygwin"
fi
@@ -1542,10 +1558,10 @@ make_cflags_and_ldflags() {
LIBS="$LIBS -lws2_32 -lwinmm -lgdi32 -ldxguid -lole32 -limm32"
if [ $cc_version -ge 44 ]; then
if [ $cc_version -ge 404 ]; then
LDFLAGS_BUILD="$LDFLAGS_BUILD -static-libgcc -static-libstdc++"
fi
if [ $cc_version -ge 47 ]; then
if [ $cc_version -ge 407 ]; then
CFLAGS="$CFLAGS -mno-ms-bitfields"
fi
fi
@@ -1595,23 +1611,6 @@ make_cflags_and_ldflags() {
CFLAGS="$OSX_SYSROOT $CFLAGS"
LDFLAGS="$OSX_LD_SYSROOT $LDFLAGS"
fi
if [ "$enable_universal" = "0" ] && [ $cc_version -gt 40 ]; then
# Only set the min version when not doing an universal build.
# Universal builds set the version elsewhere.
if [ "$cpu_type" = "64" ]; then
CFLAGS="$CFLAGS -mmacosx-version-min=10.5"
else
gcc_cpu=`$cc_host -dumpmachine`
if [ "`echo $gcc_cpu | cut -c 1-3`" = "ppc" -o "`echo $gcc_cpu | cut -c 1-7`" = "powerpc" ]; then
# PowerPC build can run on 10.3
CFLAGS="$CFLAGS -mmacosx-version-min=10.3"
else
# Intel is only available starting from 10.4
CFLAGS="$CFLAGS -mmacosx-version-min=10.4"
fi
fi
fi
fi
if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ]; then
@@ -1774,7 +1773,7 @@ make_cflags_and_ldflags() {
# GCC 4.0+ doesn't like the DirectX includes (gives tons of
# warnings on it we won't be able to fix). For now just
# suppress those warnings.
if [ $cc_version -ge 40 ]; then
if [ $cc_version -ge 400 ]; then
CFLAGS="$CFLAGS -Wno-non-virtual-dtor"
fi
fi