virtualx-engine/drivers/png/SCsub
Rémi Verschelde 248bc9159c drivers: Refactor SCsub and drop redundant env_drivers clone
The reordering of the SConscript includes allows to ensure that
stuff like the builtin zlib headers will be available for libpng.

Also moved glew back into global env, otherwise windows seems
not to find it... Kind of shooting in the dark with this multi-env
setup.
2016-10-15 18:10:18 +02:00

46 lines
1.5 KiB
Text

Import('env')
env_png = env.Clone()
# Thirdparty source files
if (env["libpng"] == "builtin"):
thirdparty_dir = "#thirdparty/libpng/"
thirdparty_sources = [
thirdparty_dir + "png.c",
thirdparty_dir + "pngerror.c",
thirdparty_dir + "pngget.c",
thirdparty_dir + "pngmem.c",
thirdparty_dir + "pngpread.c",
thirdparty_dir + "pngread.c",
thirdparty_dir + "pngrio.c",
thirdparty_dir + "pngrtran.c",
thirdparty_dir + "pngrutil.c",
thirdparty_dir + "pngset.c",
thirdparty_dir + "pngtrans.c",
thirdparty_dir + "pngwio.c",
thirdparty_dir + "pngwrite.c",
thirdparty_dir + "pngwtran.c",
thirdparty_dir + "pngwutil.c",
]
# Currently .ASM filter_neon.S does not compile on NT.
import os
if ("neon_enabled" in env and env["neon_enabled"]) and os.name!="nt":
env_png.Append(CPPFLAGS = ["-DPNG_ARM_NEON_OPT=2"])
env_neon = env_png.Clone();
if "S_compiler" in env:
env_neon['CC'] = env['S_compiler']
#env_neon.Append(CPPFLAGS = ["-DPNG_ARM_NEON"])
thirdparty_sources.append(env_neon.Object(thirdparty_dir + "/arm/arm_init.c"))
thirdparty_sources.append(env_neon.Object(thirdparty_dir + "/arm/filter_neon.S"))
else:
env_png.Append(CPPFLAGS = ["-DPNG_ARM_NEON_OPT=0"])
#env_png.add_source_files(env.drivers_sources, thirdparty_sources)
env.drivers_sources += thirdparty_sources # Concatenation necessary for neon objects it seems?
env_png.Append(CPPPATH = [thirdparty_dir])
# Godot source files
env_png.add_source_files(env.drivers_sources, "*.cpp")
Export('env')