d44414c711
Apparently -ffast-math generates incorrect code with recent versions of GCC and Clang. The manual page for GCC warns about this possibility. In my tests it doesn't actually appear to be measurably slower in this case, and this is used in a batch process so it seems safe to disable this. This fixes #10758 and fixes #10070
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
#!/usr/bin/env python
|
|
|
|
Import('env')
|
|
Import('env_modules')
|
|
|
|
env_etc = env_modules.Clone()
|
|
|
|
# Thirdparty source files
|
|
# Not unbundled so far since not widespread as shared library
|
|
thirdparty_dir = "#thirdparty/etc2comp/"
|
|
thirdparty_sources = [
|
|
"EtcBlock4x4.cpp",
|
|
"EtcBlock4x4Encoding.cpp",
|
|
"EtcBlock4x4Encoding_ETC1.cpp",
|
|
"EtcBlock4x4Encoding_R11.cpp",
|
|
"EtcBlock4x4Encoding_RG11.cpp",
|
|
"EtcBlock4x4Encoding_RGB8A1.cpp",
|
|
"EtcBlock4x4Encoding_RGB8.cpp",
|
|
"EtcBlock4x4Encoding_RGBA8.cpp",
|
|
"Etc.cpp",
|
|
"EtcDifferentialTrys.cpp",
|
|
"EtcFilter.cpp",
|
|
"EtcImage.cpp",
|
|
"EtcIndividualTrys.cpp",
|
|
"EtcMath.cpp",
|
|
"EtcSortedBlockList.cpp",
|
|
]
|
|
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
|
|
|
|
env_etc.add_source_files(env.modules_sources, thirdparty_sources)
|
|
env_etc.Append(CPPPATH=[thirdparty_dir])
|
|
|
|
# Godot source files
|
|
env_etc.add_source_files(env.modules_sources, "*.cpp")
|
|
|
|
# upstream uses c++11
|
|
env_etc.Append(CXXFLAGS="-std=gnu++11")
|
|
# -ffast-math seems to be incompatible with ec2comp on recent versions of
|
|
# GCC and Clang
|
|
if '-ffast-math' in env_etc['CCFLAGS']:
|
|
env_etc['CCFLAGS'].remove('-ffast-math')
|