6bfb7944d9
Also finally move freetype to its own env and disable warnings for it. Still needs some work to fix the awkward situation of the freetype and svg modules used in scene/ and editor/ respectively.
58 lines
1.7 KiB
Python
58 lines
1.7 KiB
Python
#!/usr/bin/env python
|
|
|
|
Import('env')
|
|
|
|
env_png = env.Clone()
|
|
|
|
# Thirdparty source files
|
|
if env['builtin_libpng']:
|
|
thirdparty_dir = "#thirdparty/libpng/"
|
|
thirdparty_sources = [
|
|
"png.c",
|
|
"pngerror.c",
|
|
"pngget.c",
|
|
"pngmem.c",
|
|
"pngpread.c",
|
|
"pngread.c",
|
|
"pngrio.c",
|
|
"pngrtran.c",
|
|
"pngrutil.c",
|
|
"pngset.c",
|
|
"pngtrans.c",
|
|
"pngwio.c",
|
|
"pngwrite.c",
|
|
"pngwtran.c",
|
|
"pngwutil.c",
|
|
]
|
|
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
|
|
|
|
env_png.Append(CPPPATH=[thirdparty_dir])
|
|
# Needed for drivers includes and in platform/javascript
|
|
env.Append(CPPPATH=[thirdparty_dir])
|
|
|
|
# Currently .ASM filter_neon.S does not compile on NT.
|
|
import os
|
|
use_neon = "neon_enabled" in env and env["neon_enabled"] and os.name != "nt"
|
|
if use_neon:
|
|
env_png.Append(CPPFLAGS=["-DPNG_ARM_NEON_OPT=2"])
|
|
else:
|
|
env_png.Append(CPPFLAGS=["-DPNG_ARM_NEON_OPT=0"])
|
|
|
|
env_thirdparty = env_png.Clone()
|
|
env_thirdparty.disable_warnings()
|
|
env_thirdparty.add_source_files(env.drivers_sources, thirdparty_sources)
|
|
|
|
if use_neon:
|
|
env_neon = env_thirdparty.Clone()
|
|
if "S_compiler" in env:
|
|
env_neon['CC'] = env['S_compiler']
|
|
neon_sources = []
|
|
neon_sources.append(env_neon.Object(thirdparty_dir + "/arm/arm_init.c"))
|
|
neon_sources.append(env_neon.Object(thirdparty_dir + "/arm/filter_neon_intrinsics.c"))
|
|
neon_sources.append(env_neon.Object(thirdparty_dir + "/arm/filter_neon.S"))
|
|
env.drivers_sources += neon_sources
|
|
|
|
# Godot source files
|
|
env_png.add_source_files(env.drivers_sources, "*.cpp")
|
|
|
|
Export('env')
|